我在窗口和树莓派上使用python 2.7。
我指的是下面给出的链接。
http://www.blog.pythonlibrary.org/2010/07/24/wxpython-creating-a-simple-media-player/
我可以在MplayerCtrl中播放单个文件。 但是当我尝试加载播放列表文件时,MplayerCtrl没有响应。
以下给出的代码可以使用。
self.mplayer = mpc.MplayerCtrl(self.panel, -1, mplayerpath)
..
..
..
self.mplayer.Loadfile('I:\Outputsync.avi')
self.playbackTimer.Start(100)
self.mplayer.Start()
另一种方式也有效。 -
subprocess.call('mplayer.exe -playlist I:\playlist.txt -shuffle' ,shell=False)
FutureCall也有效。 -
import wx
import MplayerCtrl as mpc
class Frame(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id)
self.mpc = mpc.MplayerCtrl(self, -1, u'mplayer.exe')
#wx.FutureCall(2500, self.mpc.Loadfile, u'Outputsync.avi')
wx.FutureCall(2500, self.mpc.Loadlist, u'I:/playlist.txt')
self.Show()
if __name__ == '__main__':
app = wx.App(redirect=False)
f = Frame(None, -1)
app.MainLoop()
但是这段代码不起作用。
import MplayerCtrl as mpc
self.mplayer = mpc.MplayerCtrl(self.panel, -1, mplayerpath)
..
..
..
self.mplayer.Loadlist('I:\playlist.txt',1)
self.playbackTimer.Start(100)
self.mplayer.Start()
这一回归'无'
import MplayerCtrl as mpc
def on_add_file(self, event):
self.mplayer = mpc.MplayerCtrl(self.panel, -1, mplayerpath)
..
..
..
mpc.MplayerCtrl.Loadlist(self.mplayer,'I:\playlist.txt',1)
self.playbackTimer.Start(100)
self.mplayer.Start()
请给我一些暗示我出错的地方。
答案 0 :(得分:0)
我得到了答案。
文件名前缺少unicode前缀。
import MplayerCtrl as mpc
def on_add_file(self, event):
self.mplayer = mpc.MplayerCtrl(self.panel, -1, mplayerpath)
..
..
..
subprocess.call('mplayer.exe -playlist I:\playlist.txt -shuffle' ,shell=False)
self.mplayer.Loadfile(u'I:/Outputsync.avi')
self.mplayer.Loadlist(u'I:/playlist.txt',1)
mpc.MplayerCtrl.Loadfile(self.mplayer,u'I:/Outputsync.avi')
mpc.MplayerCtrl.Loadlist(self.mplayer,u'I:/playlist.txt',1)
wx.FutureCall(1, self.mplayer.Loadlist, u'I:/playlist.txt' , 1)
self.playbackTimer.Start(100)
self.mplayer.Start()