Bonjour (Bonsoir),

Premièrement, désolé si je ne poste pas au bon endroit, je pense que c'est le forum adapté mais ne sait-on jamais .

Donc voilà, je cherche de l'aide me permettant de résoudre le problème suivant:

Lorsque je charge une vidéo grâce à la méthode .Load() de wx.media.MediaCtrl, le programme plante, mais il ne plante pas dès le premier chargement mais lorsque je choisi une seconde vidéo. Je n'ai aucun autre problème sur les autres méthodes. Uniquement le chargement d'une deuxième vidéo et l'application crash.


Je mets ici uniquement le code concernant le lecteur, si il y a besoin de plus pour que j'obtienne de l'aide, je rajouterai la suite

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
class MainFrame(wx.Frame):
 
    def __init__(self):
        wx.Frame.__init__(self, None, 1, title = '', size = (800, 630))
 
        self.panel = wx.Panel(self, wx.ID_ANY)
 
        '''
        Media
        '''
 
        self.media = wx.media.MediaCtrl(self.panel, wx.ID_ANY, style = wx.SIMPLE_BORDER)
        self.media.Bind(wx.media.EVT_MEDIA_LOADED, self.OnLoaded)
        self.slider = wx.Slider(self.panel, wx.ID_ANY, 0, 0, 0)
        self.slider.Bind(wx.EVT_SLIDER, self.OnSeek)
 
 
        self.timer = wx.Timer(self)
        self.Bind(wx.EVT_TIMER, self.OnTimer)
        self.timer.Start(100)
 
    def OnTimer(self, evt):
        offset = self.media.Tell()
        self.slider.SetValue(offset)
 
    def OnSeek(self, evt):
        offset = self.slider.GetValue()
        self.media.Seek(offset)
 
    def OnLoad(self):
        try:
            self.media.Load(unicode(self.video_path))
        except e:
            pass
 
    def OnLoaded(self, evt):
        self.buttonplay.Enable()
        self.slider.SetRange(0, self.media.Length())
 
 
    def OnPlay(self, evt):
        self.media.Play()
        self.slider.SetRange(0, self.media.Length())
 
    def OnStop(self, evt):
        self.media.Stop()
 
    def OnPause(self, evt):
        self.media.Pause()
 
 
    def OnRandom(self, evt):
            #path_list une liste de chemins menant aux vidéos 
            video_path = random.choice(self.path_list)
            self.video_path = str(video_path)
            self.OnLoad()
Merci de l'aide que vous pourrez m'apporter