Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int sharedDuration = -1;
- MediaPlayer::MediaPlayer(QObject* parent): bb::multimedia::MediaPlayer(parent)
- {
- connect(this, SIGNAL(metaDataChanged(const QVariantMap&)), this,
- SLOT(onMetaDataChanged(const QVariantMap&)), Qt::DirectConnection);
- }
- void MediaPlayer::prepareMetaData(QString path)
- {
- reset();
- setSourceUrl(path);
- if(prepare() != bb::multimedia::MediaError::None)
- {
- sharedDuration = 0;
- }
- }
- void MediaPlayer::onMetaDataChanged(const QVariantMap& metadata)
- {
- if(metadata.value(bb::multimedia::MetaData::Duration).toInt() > 0)
- {
- qDebug()<<"onMetaDataChanged?????"<< metadata;
- sharedDuration = metadata.value(bb::multimedia::MetaData::Duration).toInt();
- }
- }
- MetaDataReader::MetaDataReader(QObject* parent): QObject(parent)
- {
- m_mediaPlayer.moveToThread(&thread);
- connect(this, SIGNAL(prepare(QString)), &m_mediaPlayer, SLOT(prepareMetaData(QString)));
- }
- MetaDataReader::~MetaDataReader()
- {
- m_mediaPlayer.reset();
- }
- _int64 MetaDataReader::getDuration(QString path)
- {
- sharedDuration = -1;
- thread.start();
- emit prepare(path);
- qDebug()<<"before while????????";
- qDebug() <<"path ?????" << path;
- while(1)
- {
- if(sharedDuration != -1)
- break;
- }
- return sharedDuration;
- }
- } //end of namespace
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement