我在学校做一个关于制作媒体播放器的项目。我用python和wxPython
作为GUI,MPlayerCtrl作为库来控制我的所有按钮。但是我在使用MPlayerCtrl时遇到了问题。我似乎无法让MPlayerCtrl中的函数正常工作。在
我可以让媒体播放,但是当我尝试使用函数"self.mplayer.GetTimeLength()"
时,它返回的是“none”,这不是什么。我也尝试过在MPlayerCtrl中使用其他函数,但仍然存在相同的问题。我有什么不对的吗?在
def on_add_file(self, event):
"""
Add a Movie and start playing it
"""
wildcard = "Media Files (*.*)|*.*"
dlg = wx.FileDialog(
self, message="Choose a file",
defaultDir=self.currentFolder,
defaultFile="",
wildcard=wildcard,
style=wx.OPEN | wx.CHANGE_DIR
)
if dlg.ShowModal() == wx.ID_OK:
path = dlg.GetPath()
self.currentFolder = os.path.dirname(path[0])
trackPath = '"%s"' % path.replace("\\", "/")
self.mplayer.Loadfile(trackPath)
t_len = self.mplayer.GetTimeLength()
print t_len
#self.playbackSlider.SetRange(0, t_len)
#self.playbackTimer.Start(100)
参考号:http://www.blog.pythonlibrary.org/2010/07/24/wxpython-creating-a-simple-media-player/
我假设您已经从here复制了这个示例。我也有同样的问题。在this forum(德语)中,我发现您应该只在
EVT_MEDIA_STARTED
启动后调用GetTimeLength()
。例如,移动:
^{pr2}$from on_add_file()
到on_media_started()
,在on_add_file()
的末尾,输入:相关问题 更多 >
编程相关推荐