详解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类型强制转换long to int的代码
Feb 10 Python
使用Python的PIL模块来进行图片对比
Feb 18 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
python如何爬取个性签名
Jun 19 Python
详解python读取和输出到txt
Mar 29 Python
如何使用Python实现斐波那契数列
Jul 02 Python
python 字典有序并写入json文件过程解析
Sep 30 Python
python调用c++返回带成员指针的类指针实例
Dec 12 Python
python中前缀运算符 *和 **的用法示例详解
May 28 Python
Python select及selectors模块概念用法详解
Jun 22 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
Mar 03 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
IIS6的PHP最佳配置方法
2007/03/19 PHP
php下实现折线图效果的代码
2007/04/28 PHP
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
JS类的封装及实现代码
2009/12/02 Javascript
Javascript中的相等与不等运算
2010/04/25 Javascript
清空上传控件input file的值
2010/07/03 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
基于jQuery的倒计时实现代码
2012/05/30 Javascript
jQuery实现鼠标移到元素上动态提示消息框效果
2013/10/20 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
python快速排序代码实例
2013/11/21 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
python numpy 反转 reverse示例
2019/12/04 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
营销专业应届生求职信
2013/11/26 职场文书
2015新年寄语大全
2014/12/08 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL