音频与视频

QSound

 1 import sys
 2 from PyQt5.QtMultimedia import QSound
 3 from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout
 4 
 5 class Demo(QWidget):
 6     def __init__(self):
 7         super(Demo, self).__init__()
 8         self.sound = QSound('D:\ss\ssss\弯弯的月亮.wav')  #实例化一个QSound对象
 9         self.sound.setLoops(QSound.Infinite)  # 设置播放次数
10         #QSound.Infinite  参数让声音无限循环播放,传入相应的正整数会播放相应的次数
11 
12         self.play_btn = QPushButton('播放', self)
13         self.stop_btn = QPushButton('', self)
14         self.play_btn.clicked.connect(self.sound.play)  #播放
15         self.stop_btn.clicked.connect(self.sound.stop)  #停止
16         self.btn=QPushButton('测试', self)
17         self.btn.clicked.connect(self.cesi)
18 
19         self.h_layout = QHBoxLayout()
20         self.h_layout.addWidget(self.play_btn)
21         self.h_layout.addWidget(self.stop_btn)
22         self.h_layout.addWidget(self.btn)
23         self.setLayout(self.h_layout)
24 
25     def cesi(self):
26         print(self.sound.isFinished())  #声音播放结束没有。True播放结束
27         
28 
29 if __name__ == '__main__':
30     app = QApplication(sys.argv)
31     demo = Demo()
32     demo.show()
33     sys.exit(app.exec_())

QSoundEffect

可以用来播放无压缩的音频文件(典型的是wav文件),不过我们可以通过这个类以低延迟的方式来播放音频文件,而且可以对文件进行更精细化的操作,该类非常适合用来播放交互音效,如弹出框的提示音,游戏音效等

猜你喜欢

转载自www.cnblogs.com/liming19680104/p/10434962.html