详解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在命令行下使用google翻译(带语音)
Jan 16 Python
python实现用户登录系统
May 21 Python
python如何重载模块实例解析
Jan 25 Python
python使用筛选法计算小于给定数字的所有素数
Mar 19 Python
python安装numpy和pandas的方法步骤
May 27 Python
python数据挖掘需要学的内容
Jun 23 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 Python
PyTorch的Optimizer训练工具的实现
Aug 18 Python
python 导入数据及作图的实现
Dec 03 Python
Python matplotlib画曲线例题解析
Feb 07 Python
Eclipse配置python默认头过程图解
Apr 26 Python
python实现批量移动文件
Apr 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
10条PHP高级技巧[修正版]
2011/08/02 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
JS实现小星星特效
2019/12/24 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
python定时执行指定函数的方法
2015/05/27 Python
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
python实现ftp文件传输功能
2020/03/20 Python
python与js主要区别点总结
2020/09/13 Python
西安导游词
2015/02/12 职场文书
学习党章心得体会2016
2016/01/15 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书
MongoDB安装使用并实现Python操作数据库
2021/06/28 MongoDB
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js