详解python播放音频的三种方法


Posted in Python onSeptember 23, 2019

第一种 使用pygame模块

pygame.mixer.init()
  pygame.mixer.music.load(self.wav_file) 
  pygame.mixer.music.set_volume(0.5) 
  pygame.mixer.music.play()

缺点:pygame模块播放音频时,有时候会产生失真,且无法通过修改播放器的频率来矫正音色。

第二种 使用pyqt5模块

from PyQt5 import QtMultimedia
from PyQt5.QtCore import QUrl
file = QUrl.fromLocalFile(wav_file) # 音频文件路径
content = QtMultimedia.QMediaContent(file)
player.setMedia(content)
player.setVolume(50.0)
player.play()

缺点:由于大部分人使用的python环境为anaconda配置的环境,在anaconda下的pyqt5没有QtMultimedia这一模块,只能自己使用pip安装,但是使用pip安装后如果anaconda环境下有spyder、anaconda navigator等图形化界面程序,这些程序会无法打开,因此使用pip安装后调试完毕后记得使用pip卸载掉,之后才能正常打开spyder等程序。

第三种 使用pyaudio模块

import pyaudio
import wave
import sys
chunk = 1024
wf = wave.open('gyh.wav', 'rb')
p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
        channels=wf.getnchannels(),
        rate=wf.getframerate(),
        output=True)
data = wf.readframes(chunk)
while len(data) > 0:
  stream.write(data)
  data = wf.readframes(CHUNK)
stream.stop_stream()
stream.close()
p.terminate()

缺点:无,就是代码多点。

总结

以上所述是小编给大家介绍的python播放音频的三种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python和C语言混合编程实例
Jun 04 Python
Python中的多行注释文档编写风格汇总
Jun 16 Python
Python如何实现文本转语音
Aug 08 Python
Python分析学校四六级过关情况
Nov 22 Python
python实现感知器算法详解
Dec 19 Python
python中正则表达式的使用方法
Feb 25 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
Apr 28 Python
python2与python3共存问题的解决方法
Sep 18 Python
在python里从协程返回一个值的示例
Feb 19 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 Python
Python四款GUI图形界面库介绍
Jun 05 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 #Python
python程序中的线程操作 concurrent模块使用详解
Sep 23 #Python
Python3 pandas 操作列表实例详解
Sep 23 #Python
详解基于python-django框架的支付宝支付案例
Sep 23 #Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 #Python
Python中关于浮点数的冷知识
Sep 22 #Python
Python安装及Pycharm安装使用教程图解
Sep 20 #Python
You might like
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
PHP 批量删除 sql语句
2009/06/05 PHP
php xml 入门学习资料
2011/01/01 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
PHP中overload与override的区别
2017/02/13 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
Jquery中val()表单取值赋值的实例代码
2013/08/15 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
javascript实现的多个层切换效果通用函数实例
2015/07/06 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
vue项目实现图片上传功能
2019/12/23 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
python通过yield实现数组全排列的方法
2015/03/18 Python
基于pandas数据样本行列选取的方法
2018/04/20 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
投标邀请书范文
2014/01/31 职场文书
11月升旗仪式讲话稿
2014/02/15 职场文书
创意广告词
2014/03/17 职场文书
学校运动会报道稿
2014/09/23 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
2016银行求职自荐信
2016/01/28 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis