最近在写一个播放器,用到python的mplayctrl模块
()()(一) ()
碰到的几个问题总结一下:
- loadfie后自动播放的问题
我希望能够在loadfile后暂停播放,解决办法是在on_media_started事件方法中增加
pause()
- class movieFrame(wx.Frame):
-
'''
-
节目播出窗口类
-
默认在配置文件指定大小及位置
-
'''
-
def __init__(self,media_file=None, mute=False):
-
'''
-
初始化一个大小为零的播放页面, 用于提前调入影片
-
mute = True 会启动一个静音窗口
-
'''
-
wx.Frame.__init__(self, None, -1, u"mplayer",
-
(mcon.winx, mcon.winy) , (0, 0),
-
style = wx.FRAME_SHAPED|wx.SIMPLE_BORDER\
-
|wx.FRAME_NO_TASKBAR|wx.STAY_ON_TOP)
-
#创建一个mplayerctrl实例
-
#可以指定mplayer参数
-
if mute:
-
mplayarg = (u'-vo',u'xv', u'-af', u'volume=-200' )
-
else:
-
mplayarg = (u'-vo',u'xv')
-
self.mpc = mpc.MplayerCtrl(self, -1, u'mplayer',
-
media_file, mplayer_args=mplayarg,
-
keep_pause=True)
-
self.mpc.SetBackgroundColour((0,0,0))
-
#绑定启动事件, 暂停播放
-
self.Bind(mpc.EVT_MEDIA_STARTED, self.on_media_started)
-
-
#设置屏幕背景为黑色
-
self.Show()
-
- def on_media_started(self, evt):
-
'''
-
设置图像调入后暂停, 隐藏窗口, 恢复窗口大小
-
'''
-
print self.mpc.filename
-
self.mpc.Pause()
-
self.mpc.Seek(0, 2)
-
self.Hide()
-
self.SetSize(wx.Size(mcon.winw,mcon.winh))
2、静音的问题
我希望开一个进程在后台用于读取文件的属性,但如果第一桢有声音,会播出来,设置mplayer的启动参数为
mplayarg = (u'-vo',u'xv', u'-af', u'volume=-200' )
3、开2个进程的问题
经过测试,发现如果mplayer的启动参数带有 -cache ,会出现2个mplayer进程
阅读(1782) | 评论(0) | 转发(0) |