Lecture de plusieurs pistes avec QMediaPlayer - PySide 6

Bonjour tout le monde,

J’essaie de créer un programme qui doit lire des pistes mp3, j’ai opté pour QMediaPlayer, le widget de Qt pour atteindre mon objectif, mais il se trouve que si je lui fournis deux fichiers à lire, il ne lit que le dernier, je pense que c’est parce que le programme suit son cheminement et que la seconde directive écrase la première et que c’est pour ça qu’il ne lit que le dernier fichier fourni, je joins ici mon code dans l’espoir de trouver de l’aide.

self.player=QMediaPlayer()
self.audioOutput = QAudioOutput()

self.player.setAudioOutput(self.audioOutput)

self.player.setSource(QUrl.fromLocalFile(“sound/001000.mp3”))

self.player.play()

while self.player.isPlaying():

time.sleep(2)

self.player.setSource(QUrl.fromLocalFile(“sound/001001.mp3”))

self.player.play()

Bonjour,

Je pense déjà qu’avec time.sleep tu risques de geler l’application pendant le temps de la lecture, donc je ne suis pas sûr de comment ça peut se comporter à ce niveau là.
Dans le code que tu nous présentes on ne voit pas la boucle principale du programme qui lui permet de tourner et d’interagir avec les entrées/sorties.

Mais j’imagine que QMediaPlayer doit fournir de quoi lancer une playlist, ou alors que tu peux te connecter au mécanisme de signaux de Qt pou intercepter l’événement lié à la fin de la lecture d’un morceau afin de lancer le deuxième.