首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用MplayerCtrl的mplayer中,mplayer.Loadlist不起作用

在使用MplayerCtrl的mplayer中,mplayer.Loadlist不起作用
EN

Stack Overflow用户
提问于 2015-09-24 20:35:23
回答 1查看 304关注 0票数 0

我在window和raspberry pi上使用python 2.7。

我指的是下面给定的链接。

代码语言:javascript
复制
 http://www.blog.pythonlibrary.org/2010/07/24/wxpython-creating-a-simple-media-player/

我可以在MplayerCtrl中播放单个文件。但是当我尝试加载播放列表文件时,MplayerCtrl没有响应。

下面给出的代码是有效的。

代码语言:javascript
复制
   self.mplayer = mpc.MplayerCtrl(self.panel, -1, mplayerpath)
   ..
   ..
   ..
   self.mplayer.Loadfile('I:\Outputsync.avi')
   self.playbackTimer.Start(100)
   self.mplayer.Start()  

另一种方式也行得通。-

代码语言:javascript
复制
   subprocess.call('mplayer.exe -playlist I:\playlist.txt -shuffle' ,shell=False)

FutureCall也可以工作。-

代码语言:javascript
复制
  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()

但是这段代码不起作用。

代码语言:javascript
复制
   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()  

这一条返回'None‘

代码语言:javascript
复制
  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()

请给我一些提示,我哪里错了。

EN

回答 1

Stack Overflow用户

发布于 2015-09-24 23:13:57

我知道答案了。

文件名前缺少unicode前缀。

代码语言:javascript
复制
 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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32761485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档