详解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 相关文章推荐
pycharm 使用心得(五)断点调试
Jun 06 Python
使用Python3编写抓取网页和只抓网页图片的脚本
Aug 20 Python
详解Python函数作用域的LEGB顺序
May 14 Python
Python3中使用PyMongo的方法详解
Jul 28 Python
python编程实现12306的一个小爬虫实例
Dec 27 Python
python模块smtplib学习
May 22 Python
python matplotlib折线图样式实现过程
Nov 04 Python
基于TensorFlow常量、序列以及随机值生成实例
Jan 04 Python
python给图像加上mask,并提取mask区域实例
Jan 19 Python
Mac PyCharm中的.gitignore 安装设置教程
Apr 16 Python
浅析Python实现DFA算法
Jun 26 Python
解析python中的jsonpath 提取器
Jan 18 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
如何使用PHP中的字符串函数
2006/10/09 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
PHP实现根据图片色界在不同位置加水印的方法
2015/08/08 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
python算法与数据结构之单链表的实现代码
2019/06/27 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
Numpy 理解ndarray对象的示例代码
2020/04/03 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
战友聚会主持词
2014/04/02 职场文书
个人简历自荐信
2014/06/26 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
2015公务员试用期工作总结
2014/12/12 职场文书
个人德育工作总结
2015/03/05 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
cypress测试本地web应用
2022/06/01 Javascript
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers