QtMobility n'est pas inclus dans Qt, en tout cas pas il n'est pas fourni précompilé dans les versions Desktop. Par contre le module QtMultimedia a été intégré à Qt. Donc il n'y a rien à faire, à part ajouter "multimedia" à la variable CONFIGQT du .pro.
Et pour avoir accès aux metadatas, il semble qu'il faille attendre le signal metaDataChanged(). Par exemple, ce code semble fonctionner:
1 2 3 4 5 6 7 8 9 10
| QString temp = QFileDialog::getOpenFileName(this, "Ouvrir un fichier", QString(), "Musique (*.mp3 *.wav *.aac *.wav)");
QMediaPlayer *player = new QMediaPlayer();
player->setMedia(QUrl::fromLocalFile(temp));
QEventLoop loop;
connect(player, SIGNAL(metaDataChanged()), &loop, SLOT(quit()));
loop.exec();
qDebug() << player->availableMetaData();
qDebug() << player->metaData(QMediaMetaData::Title).toString(); |
qui renvoie:
("AlbumArtist", "AlbumTitle", "Composer", "Genre", "Title", "TrackNumber", "Year", "container-format", "date", "track-count")
"Main Title"
PS: La boucle d'événements imbriquée (QEventLoop) c'est juste pour l'exemple, il faut éviter de la garder dans le code final.
Partager