Bonjour,
Je tente désespérément de réaliser un petit programme me permettant de lire successivement des fichier .wav avec wx.media.
La liste de mes titres est stockée dans un dictionnaire de cette manière:
L'interface graphique est faite avec wx.Python. Un wx.Button permet de lancer la fonction OnPlay(). La fonction OnLoad() est chargée dès l'ouverture du programme. La fonction Suivant() doit permettre le changement de piste. (c'est ici que j'ai un problème)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dico_1 = {0:'son0', 1:'son1', 2:'son2'} dico_2 = {0:'son0.wav', 1:'son1.wav', 2:'son2.wav'}
Voici le code qui correspond:
En fait j'aimerai pouvoir faire en sorte que dans Comparaison() le prochain fichier lancé soit celui directement après celui joué (donc celui qui lance l'évènement EVT_MEDIA_FINISHED.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 def OnLoad(self): dico_1[0] = wx.media.MediaCtrl(self.conteneur, -1) dico_1[1] = wx.media.MediaCtrl(self.conteneur,-1) dico_1[2] = wx.media.MediaCtrl(self.conteneur,-1) file1 = dico_1[0].Load file2 = dico_1[1].Load file3 = dico_1[2].Load file1(dico_2[0]) file2(dico_2[1]) file3(dico_2[2]) def OnPlay(self,evt): dico_1[0].Play() self.Bind(wx.media.EVT_MEDIA_FINISHED, self.Comparaison) def Comparaison(self,evt): dico_1[1].Play()
Dans le cas actuel, mon code lance dico_2[0] -dans OnPlay()-, puis dico_2[1] en boucle...
D'avance merci de votre aide
Partager