Advertisement
Guest User

Untitled

a guest
Aug 20th, 2013
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. int sharedDuration = -1;
  2.  
  3. MediaPlayer::MediaPlayer(QObject* parent): bb::multimedia::MediaPlayer(parent)
  4. {
  5. connect(this, SIGNAL(metaDataChanged(const QVariantMap&)), this,
  6. SLOT(onMetaDataChanged(const QVariantMap&)), Qt::DirectConnection);
  7. }
  8.  
  9. void MediaPlayer::prepareMetaData(QString path)
  10. {
  11. reset();
  12. setSourceUrl(path);
  13. if(prepare() != bb::multimedia::MediaError::None)
  14. {
  15. sharedDuration = 0;
  16. }
  17. }
  18.  
  19. void MediaPlayer::onMetaDataChanged(const QVariantMap& metadata)
  20. {
  21.  
  22. if(metadata.value(bb::multimedia::MetaData::Duration).toInt() > 0)
  23. {
  24. qDebug()<<"onMetaDataChanged?????"<< metadata;
  25. sharedDuration = metadata.value(bb::multimedia::MetaData::Duration).toInt();
  26. }
  27. }
  28.  
  29. MetaDataReader::MetaDataReader(QObject* parent): QObject(parent)
  30. {
  31. m_mediaPlayer.moveToThread(&thread);
  32. connect(this, SIGNAL(prepare(QString)), &m_mediaPlayer, SLOT(prepareMetaData(QString)));
  33.  
  34. }
  35.  
  36. MetaDataReader::~MetaDataReader()
  37. {
  38. m_mediaPlayer.reset();
  39. }
  40.  
  41. _int64 MetaDataReader::getDuration(QString path)
  42. {
  43. sharedDuration = -1;
  44. thread.start();
  45. emit prepare(path);
  46. qDebug()<<"before while????????";
  47. qDebug() <<"path ?????" << path;
  48. while(1)
  49. {
  50. if(sharedDuration != -1)
  51. break;
  52. }
  53. return sharedDuration;
  54. }
  55.  
  56. } //end of namespace
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement