Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1690419
  • 博文数量: 410
  • 博客积分: 9563
  • 博客等级: 中将
  • 技术积分: 4517
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-03 19:59
个人简介

文章分类

全部博文(410)

文章存档

2017年(6)

2016年(1)

2015年(3)

2014年(4)

2013年(32)

2012年(45)

2011年(179)

2010年(140)

分类: Python/Ruby

2011-02-14 22:54:25

最近在写一个播放器,用到python的mplayctrl模块
()()(一) ()
碰到的几个问题总结一下:
  1. loadfie后自动播放的问题
我希望能够在loadfile后暂停播放,解决办法是在on_media_started事件方法中增加
pause()
  1. class movieFrame(wx.Frame):
  2.     '''
  3.     节目播出窗口类
  4.     默认在配置文件指定大小及位置
  5.     '''
  6.     def __init__(self,media_file=None, mute=False):
  7.         '''
  8.         初始化一个大小为零的播放页面, 用于提前调入影片
  9.         mute = True 会启动一个静音窗口
  10.         '''
  11.         wx.Frame.__init__(self, None, -1, u"mplayer",
  12.                 (mcon.winx, mcon.winy) , (0, 0),
  13.                 style = wx.FRAME_SHAPED|wx.SIMPLE_BORDER\
  14.                 |wx.FRAME_NO_TASKBAR|wx.STAY_ON_TOP)
  15.         #创建一个mplayerctrl实例
  16.         #可以指定mplayer参数
  17.         if mute:
  18.             mplayarg = (u'-vo',u'xv', u'-af', u'volume=-200' )
  19.         else:
  20.             mplayarg = (u'-vo',u'xv')
  21.         self.mpc = mpc.MplayerCtrl(self, -1, u'mplayer',
  22.                 media_file, mplayer_args=mplayarg,
  23.                 keep_pause=True)
  24.         self.mpc.SetBackgroundColour((0,0,0))
  25.         #绑定启动事件, 暂停播放
  26.         self.Bind(mpc.EVT_MEDIA_STARTED, self.on_media_started)

  27.         #设置屏幕背景为黑色
  28.         self.Show()

  29.     def on_media_started(self, evt):
  30.         '''
  31.         设置图像调入后暂停, 隐藏窗口, 恢复窗口大小
  32.         '''
  33.         print self.mpc.filename
  34.         self.mpc.Pause()
  35.         self.mpc.Seek(0, 2)
  36.         self.Hide()
  37.         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进程
阅读(1661) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~