Python -- 多媒体编程 -- 音乐播放

使用win32库的WMPlayer.OCX开发一个简易的音乐播放器

 1 import sys
 2 from PyQt4 import QtGui, QtCore
 3 from win32com.client import Dispatch
 4 
 5 class MyWindow(QtGui.QWidget):
 6     def __init__(self):
 7         super(MyWindow, self).__init__()
 8         self.setWindowTitle('音乐播放器')
 9         self.resize(485, 300)
10 
11         self.btnAdd = QtGui.QPushButton('Add')
12         self.btnPlay = QtGui.QPushButton('Play')
13         self.btnPause = QtGui.QPushButton('Pause')
14         self.btnStop = QtGui.QPushButton('Stop')
15         self.btnNext = QtGui.QPushButton('Next')
16         self.txtList = QtGui.QTextEdit()
17 
18         grid = QtGui.QGridLayout()
19         grid.addWidget(self.btnAdd, 0, 0)
20         grid.addWidget(self.btnPlay, 0, 1)
21         grid.addWidget(self.btnPause, 0, 2)
22         grid.addWidget(self.btnStop, 0, 3)
23         grid.addWidget(self.btnNext, 0, 4)
24         grid.addWidget(self.txtList, 1, 0, 1, 5)
25         self.setLayout(grid)
26 
27         self.connect(self.btnAdd, QtCore.SIGNAL('clicked()'), self.onBtnAdd)
28         self.connect(self.btnPlay, QtCore.SIGNAL('clicked()'), self.onBtnPlay)
29         self.connect(self.btnPause, QtCore.SIGNAL('clicked()'), self.onBtnPause)
30         self.connect(self.btnStop, QtCore.SIGNAL('clicked()'), self.onBtnStop)
31         self.connect(self.btnNext, QtCore.SIGNAL('clicked()'), self.onBtnNext)
32 
33         self.wmp = Dispatch('WMPlayer.OCX')
34 
35     def onBtnAdd(self):
36         file = QtGui.QFileDialog.getOpenFileName(self, '打开文件', filter='音乐文件(*.mp3; *.wma; *.wav)')
37         if file:
38             media = self.wmp.newMedia(file)
39             self.wmp.currentPlayList.appendItem(media)
40             self.txtList.append(file+'\n')
41     def onBtnPlay(self):
42         self.wmp.controls.play()
43     def onBtnPause(self):
44         self.wmp.controls.pause()
45     def onBtnStop(self):
46         self.wmp.controls.stop()
47     def onBtnNext(self):
48         self.wmp.controls.next()
49 app = QtGui.QApplication(sys.argv)
50 mywindow = MyWindow()
51 mywindow.show()
52 app.exec_()

 

 

转载于:https://www.cnblogs.com/baijifeilong/p/3706689.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值