详解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调用shell的方法
Nov 20 Python
Python入门篇之列表和元组
Oct 17 Python
python有证书的加密解密实现方法
Nov 19 Python
Python实现的RSS阅读器实例
Jul 25 Python
python实现自动发送报警监控邮件
Jun 21 Python
python 检查是否为中文字符串的方法
Dec 28 Python
Python设计模式之迭代器模式原理与用法实例分析
Jan 10 Python
Python列表list操作相关知识小结
Jan 29 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 Python
Pycharm及python安装详细教程(图解)
Jul 31 Python
4款Python 类型检查工具,你选择哪个呢?
Oct 30 Python
python中的None与NULL用法说明
May 25 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
合作指挥官:孟斯克
2020/03/16 星际争霸
晶体管单管来复再生式收音机
2021/03/02 无线电
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
2007/11/30 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
Python对象体系深入分析
2014/10/28 Python
Python实现在线程里运行scrapy的方法
2015/04/07 Python
python读取和保存图片5种方法对比
2018/09/12 Python
使用python模拟命令行终端的示例
2019/08/13 Python
tensorboard显示空白的解决
2020/02/15 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
Python中bisect的用法及示例详解
2020/07/20 Python
python实现图片转字符画的完整代码
2021/02/21 Python
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
尼克松手表官网:Nixon手表
2019/03/17 全球购物
焊接专业毕业生求职信
2013/10/01 职场文书
优秀求职自荐信怎样写
2013/12/18 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
民主评议党员自我鉴定
2014/10/21 职场文书
人事主管岗位职责
2015/02/04 职场文书
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏