详解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 26 Python
Python中的各种装饰器详解
Apr 11 Python
在Python下利用OpenCV来旋转图像的教程
Apr 16 Python
windows下ipython的安装与使用详解
Oct 20 Python
python快速建立超简单的web服务器的实现方法
Feb 17 Python
python配置grpc环境
Jan 01 Python
python标记语句块使用方法总结
Aug 05 Python
解决python3 安装不了PIL的问题
Aug 16 Python
python实现计算器功能
Oct 31 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
Apr 08 Python
实现Python3数组旋转的3种算法实例
Sep 16 Python
Python LMDB库的使用示例
Feb 14 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
2019十大人气国漫
2020/03/13 国漫
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
jquer之ajaxQueue简单实现代码
2011/09/15 Javascript
jquery实现商品拖动选择效果代码(自写)
2013/05/28 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
JavaScript中操作字符串小结
2015/05/04 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
JavaScript深度复制(deep clone)的实现方法
2016/02/19 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
ES6新增的数组知识实例小结
2020/05/23 Javascript
python实现的文件夹清理程序分享
2014/11/22 Python
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
Python os模块学习笔记
2015/06/21 Python
python实现拓扑排序的基本教程
2018/03/11 Python
python使用Matplotlib画条形图
2020/03/25 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
专科毕业生求职简历的自我评价
2013/10/12 职场文书
汽车运用工程毕业生自荐信
2013/10/29 职场文书
年会主持词结束语
2014/03/27 职场文书
建筑工地标语
2014/06/18 职场文书
刑事代理授权委托书
2014/09/17 职场文书
出售房屋协议书范本
2014/10/06 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
网吧管理制度范本
2015/08/05 职场文书
python实现socket简单通信的示例代码
2021/04/13 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python