详解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实现的阳历转阴历(农历)算法
Apr 25 Python
Python中enumerate()函数编写更Pythonic的循环
Mar 06 Python
python邮件发送smtplib使用详解
Jun 16 Python
python实现求特征选择的信息增益
Dec 18 Python
使用Python正则表达式操作文本数据的方法
May 14 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
Oct 18 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
May 25 Python
Python包和模块的分发详细介绍
Jun 19 Python
python如何提升爬虫效率
Sep 27 Python
利用python 下载bilibili视频
Nov 13 Python
Python破解极验滑动验证码详细步骤
May 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
php清除和销毁session的方法分析
2015/03/19 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
快速解决jQuery与其他库冲突的方法介绍
2014/01/02 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
js实现验证码功能
2020/07/24 Javascript
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
python使用scrapy解析js示例
2014/01/23 Python
Python MD5加密实例详解
2017/08/02 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
python实现猜单词小游戏
2020/05/22 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
《金钱的魔力》教学反思
2014/02/24 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
基层党组织整改方案
2014/10/25 职场文书
优秀班主任申报材料
2014/12/16 职场文书
2019求职信大礼包
2019/05/15 职场文书
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript