• # Décalage

    Posté par . En réponse au journal Lecteur Audio Phinix. Évalué à 4.

    Hello,

    J'ai pris 5 minutes pour regarder un peu le code ce soir. Ton décalage vient d'un fait simple : comme précisé dans la doc, la plupart des méthodes de la classe MediaObject sont asynchrones. Dans ton cas, cela signifie tout simplement que quand tu appelles UpdateSongInformations() juste après Play(), il est appelé *avant* le changement de chanson, et récupère donc les méta-données de la chanson précédente.

    Le plus simple pour gérer ce cas : transforme UpdateSongInformations en slot (ajoute "public slots :" à la ligne précédente dans le .h), et ajoute un connect(_mediaObject,SIGNAL(metaDataChanged()),this,SLOT(UpdateSongInformations())); au moment où tu fais tous les connect(), et bien évidemment, supprime l'appel à UpdateSongInformations. J'ai testé, ça marche au poil !