详解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 self,cls,decorator的理解
Jul 13 Python
python连接池实现示例程序
Nov 26 Python
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
python获取本机外网ip的方法
Apr 15 Python
python中set常用操作汇总
Jun 30 Python
python实现word 2007文档转换为pdf文件
Mar 15 Python
用python代码将tiff图片存储到jpg的方法
Dec 04 Python
numpy.where() 用法详解
May 27 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
pyecharts调整图例与各板块的位置间距实例
May 16 Python
在pytorch中动态调整优化器的学习率方式
Jun 24 Python
Python+DeOldify实现老照片上色功能
Jun 21 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
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
php mysql数据库操作分页类
2008/06/04 PHP
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
PHP中数组的三种排序方法分享
2012/05/07 PHP
php对二维数组进行排序的简单实例
2013/12/19 PHP
PHP 错误处理机制
2015/07/06 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
JS实现的JSON数组去重算法示例
2018/04/11 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
Python中用max()方法求最大值的介绍
2015/05/15 Python
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
2016/06/07 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
Django自定义认证方式用法示例
2017/06/23 Python
Python中函数及默认参数的定义与调用操作实例分析
2017/07/25 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
python3连接mysql获取ansible动态inventory脚本
2020/01/19 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
会计电算化专业个人的自我评价
2013/11/24 职场文书
六年级学生评语
2014/04/22 职场文书
洗手间标语
2014/06/23 职场文书