可以播放大部分的音视频. demo download: http://www.sandy1219.com/python/media.rar playMP3.py # -*- coding: utf-8 -*- import wx; import wx.media; import os; import SPrint; import mediaStateBar; import mediaList; import SaveLog; import MediaItem; woldcart = "media files|*.*|avi|*.avi|rmvb|*.rmvb|rm|*.rm|wma|*.wma|mp3|*.mp3"; class MediaFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,wx.NewId(),u"媒体播放器",pos=wx.DefaultPosition,size=(500,500)); self.media = ''; try: self.media = wx.media.MediaCtrl(self,style=wx.SIMPLE_BORDER, #szBackend=wx.media.MEDIABACKEND_DIRECTSHOW #szBackend=wx.media.MEDIABACKEND_QUICKTIME #szBackend=wx.media.MEDIABACKEND_WMP10 ); self.media.Bind(wx.media.EVT_MEDIA_LOADED,self.mediaLoaded); self.media.Bind(wx.media.EVT_MEDIA_STATECHANGED,self.mediaStateChange) except NotImplementedError: self.Destroy() raise; self.listView = ''; self.item = MediaItem.MediaItem(); self.sb = mediaStateBar.MediaStateBar(self); self.SetStatusBar(self.sb); self.log = SaveLog.SaveLog(); #self.log.test(); self.menu = wx.Menu() self.openMenu = self.menu.Append(wx.NewId(),u"打开文件"); self.Bind(wx.EVT_MENU,self._openFile,self.openMenu); self.quitMenu = self.menu.Append(wx.NewId(),u"退出"); self.Bind(wx.EVT_MENU,self.quit,self.quitMenu); self.viewMenu = wx.Menu(); self.listMenu = self.viewMenu.Append(wx.NewId(),u"打开播放列表"); self.Bind(wx.EVT_MENU,self.openList,self.listMenu); self.loadListMenu = self.viewMenu.Append(wx.NewId(),u"加载播放列表"); self.Bind(wx.EVT_MENU,self.loadMediaList,self.loadListMenu); self.saveListMenu = self.viewMenu.Append(wx.NewId(),u"保存播放列表") self.Bind(wx.EVT_MENU,self.saveMediaList,self.saveListMenu); menuBar = wx.MenuBar(); menuBar.Append(self.menu,u"文件") menuBar.Append(self.viewMenu,u"播放列表") self.SetMenuBar(menuBar); self.slider = wx.Slider(self,wx.NewId(), 0,0,100); self.Bind(wx.EVT_SLIDER,self.onSeek,self.slider); self.btnGroupSizer = wx.BoxSizer(wx.HORIZONTAL); self.btnGroupSizer.Add((5,5),0) self.playBtn = self.createButton("./pic/play.png",self.playMp3,u"播放"); self.playBtn.Disable() self.btnGroupSizer.Add(self.playBtn); self.btnGroupSizer.Add((5,5),0) self.pauseBtn = self.createButton("./pic/pause.png",self.pauseMp3,u"暂停"); self.pauseBtn.Disable() self.btnGroupSizer.Add(self.pauseBtn); self.btnGroupSizer.Add((5,5),0) self.stopBtn = self.createButton("./pic/stop.png",self.stopMp3,u"停止"); self.stopBtn.Disable() self.btnGroupSizer.Add(self.stopBtn); self.btnGroupSizer.Add((5,5),0) self.preBtn = self.createButton("./pic/pre.png",self.preMp3,u"前一个"); self.preBtn.Disable() self.btnGroupSizer.Add(self.preBtn); self.btnGroupSizer.Add((5,5),0) self.nextBtn = self.createButton("./pic/next.png&#