wx.MediaCtrl 只播放音频
wx.MediaCtrl plays audio only
我正在尝试使用 wx.MediaCtrl 播放视频。当我 运行 我的代码时,视频不播放,只有音频播放。我尝试了不同的视频和文件格式,但问题仍然存在。
这是我的代码:
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, szBackend=wx.media.MEDIABACKEND_QUICKTIME)
videoPath = "/Users/sherylhsu/Documents/sadf.mp4"
self.Media.Load(videoPath)
self.Media.Play()
app = wx.App(redirect=False)
mainFrame = wx.Frame(None, title="Temp")
video = Video(mainFrame, wx.ID_ANY)
mainFrame.Show()
app.MainLoop()
感谢大家的帮助!
您显示的是 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
class。
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
一个backend
,它会挑选最合适的。
我正在尝试使用 wx.MediaCtrl 播放视频。当我 运行 我的代码时,视频不播放,只有音频播放。我尝试了不同的视频和文件格式,但问题仍然存在。
这是我的代码:
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, szBackend=wx.media.MEDIABACKEND_QUICKTIME)
videoPath = "/Users/sherylhsu/Documents/sadf.mp4"
self.Media.Load(videoPath)
self.Media.Play()
app = wx.App(redirect=False)
mainFrame = wx.Frame(None, title="Temp")
video = Video(mainFrame, wx.ID_ANY)
mainFrame.Show()
app.MainLoop()
感谢大家的帮助!
您显示的是 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
class。
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
一个backend
,它会挑选最合适的。