详解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中使用中文的方法
Feb 19 Python
Python中生成器和yield语句的用法详解
Apr 17 Python
python logging 日志轮转文件不删除问题的解决方法
Aug 02 Python
Python学习小技巧之利用字典的默认行为
May 20 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
使用Python 统计高频字数的方法
Jan 31 Python
Python datetime包函数简单介绍
Aug 28 Python
Pandas读取csv时如何设置列名
Jun 02 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 25 Python
python正则表达式re.search()的基本使用教程
May 21 Python
一起来学习Python的元组和列表
Mar 13 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中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
2013/09/21 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
2018/12/20 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
js脚本中执行java后台代码方法解析
2019/10/11 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
Vue实现小购物车功能
2020/12/21 Vue.js
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
玩转python爬虫之正则表达式
2016/02/17 Python
python字符串连接方法分析
2016/04/12 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
Python3标准库glob文件名模式匹配的问题
2020/03/13 Python
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
开办加工厂创业计划书
2014/01/03 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
大学生英文求职信范文
2015/03/19 职场文书
会议室使用管理制度
2015/08/06 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
MySQL 逻辑备份与恢复测试的相关总结
2021/05/14 MySQL