unter Vista sind die wx.media-Events EVT_MEDIA_LOADED und EVT_MEDIA_FINISHED scheinbar wirkungslos. Zumindest in Python 2.5 und wx.Python 2.8.9.1 für Python 2.5.
Erst mit Python 2.6 und wx.Python 2.8.9.1 für Python 2.6 ließen sich die Events wieder nutzen. Auch muß als Backend der Mediaplayer gewählt werden.
Code: Alles auswählen
try:
self.mc = wx.media.MediaCtrl (self, style=wx.SIMPLE_BORDER,
szBackend=wx.media.MEDIABACKEND_WMP10)
self.Bind (wx.media.EVT_MEDIA_LOADED, self.play)
self.Bind (wx.media.EVT_MEDIA_FINISHED, self.autoloadnextsong)
except NotImplementedError:
pass
Nachtrag:
Im Gegensatz zum DirectX Backend mag es der Mediaplayer auch nicht, wenn man die Applikation während er abspielt beendet. Generiert bösen Ausnahmefehler. Deshalb vor dem Quitten unbedingt self.mc.Stop().