详解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实现文件名批量替换和内容替换
Mar 20 Python
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
Nov 06 Python
python获取元素在数组中索引号的方法
Jul 15 Python
Django实现自定义404,500页面教程
Mar 26 Python
Python解惑之True和False详解
Apr 24 Python
对numpy中轴与维度的理解
Apr 18 Python
python用列表生成式写嵌套循环的方法
Nov 08 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
python opencv实现图像边缘检测
Apr 29 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
May 04 Python
如何基于Python实现电子邮件的发送
Dec 16 Python
Python任务自动化工具tox使用教程
Mar 17 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 ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
PHP include_path设置技巧分享
2011/07/03 PHP
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
js实现简单扫雷
2020/11/27 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
Javascript中window.name属性详解
2020/11/19 Javascript
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
Python yield与实现方法代码分析
2018/02/06 Python
python实现画一颗树和一片森林
2018/06/25 Python
python 以16进制打印输出的方法
2018/07/09 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
python制作抽奖程序代码详解
2021/01/15 Python
俄罗斯商务邀请函
2014/01/26 职场文书
会计系毕业生求职信
2014/05/28 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
小学师德师风整改措施
2014/10/27 职场文书
婚宴邀请函
2015/01/30 职场文书
就业导师推荐信范文
2015/03/27 职场文书