Вы показываете mainFrame
, поэтому видео не появляется.
Самый простой способ заставить это работать - сделать Video
фрейм:
import wx
import wx.media
class Video(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id)
self.Media = wx.media.MediaCtrl(self, style=wx.SIMPLE_BORDER)
videoPath = "/Users/sherylhsu/Documents/sadf.mp4"
self.Media.Load(videoPath)
self.Media.Play()
self.Show()
app = wx.App(redirect=False)
video = Video(None, wx.ID_ANY)
app.MainLoop()
или сохраняя существующий код, просто переместите Show
в класс Video
.
import wx
import wx.media
class Video(wx.Panel):
def __init__(self, parent, id):
wx.Panel.__init__(self, parent, id)
self.Media = wx.media.MediaCtrl(self, style=wx.SIMPLE_BORDER)
videoPath = "/Users/sherylhsu/Documents/sadf.mp4"
self.Media.Load(videoPath)
self.Media.Play()
self.Show()
app = wx.App(redirect=False)
mainFrame = wx.Frame(None, title="Temp")
video = Video(mainFrame, wx.ID_ANY)
app.MainLoop()
Примечание: если вы не дадите MediaCtrl
a backend
, он выберет наиболее подходящий.