详解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交换变量
Sep 06 Python
python 字典(dict)遍历的四种方法性能测试报告
Jun 25 Python
Python多线程实例教程
Sep 06 Python
Python中格式化format()方法详解
Apr 01 Python
python实现可视化动态CPU性能监控
Jun 21 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
Python API len函数操作过程解析
Mar 05 Python
Windows 下python3.8环境安装教程图文详解
Mar 11 Python
Jupyter notebook 启动闪退问题的解决
Apr 13 Python
浅谈Python中的字符串
Jun 10 Python
python爬虫beautifulsoup解析html方法
Dec 07 Python
如何在Python中创建二叉树
Mar 30 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简单生成缩略图相册的方法
2015/07/29 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
php输出形式实例整理
2020/05/05 PHP
javascript 运算数的求值顺序
2011/08/23 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
JQuery调用WebServices的方法和4个实例
2014/05/06 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
vue组件生命周期详解
2017/11/07 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
[05:24]TI9采访——教练
2019/08/24 DOTA
Python 深入理解yield
2008/09/06 Python
Python判断变量是否已经定义的方法
2014/08/18 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
2018/02/13 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
举例讲解Python装饰器
2020/12/24 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
2010/04/01 HTML / CSS
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
JAVA和C++的区别
2013/10/06 面试题
迎新晚会邀请函
2014/02/01 职场文书
社区居务公开实施方案
2014/03/27 职场文书
战略合作意向书
2014/07/29 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
技术转让协议书
2016/03/19 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
导游词之潮音寺
2019/09/26 职场文书
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS