详解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 元组(Tuple)操作详解
Mar 11 Python
python fabric实现远程操作和部署示例
Mar 25 Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
Python实现XML文件解析的示例代码
Feb 05 Python
python输出100以内的质数与合数实例代码
Jul 08 Python
python实现随机漫步方法和原理
Jun 10 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
Sep 26 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
calendar在python3时间中常用函数举例详解
Nov 18 Python
python 写一个水果忍者游戏
Jan 13 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
Jun 09 Python
python入门学习关于for else的特殊特性讲解
Nov 20 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读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
setAttribute 与 class冲突解决
2008/02/17 Javascript
js 表单验证方法(实用)
2009/04/28 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
2013/10/18 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
JavaScript基础语法、dom操作树及document对象
2014/12/02 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
JS中的==运算: [''] == false —>true
2016/07/24 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
Vue-axios-post数据后端接不到问题解决
2020/01/09 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
python条件和循环的使用方法
2013/11/01 Python
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
外语系毕业生自荐信范文
2013/12/16 职场文书
我的求职计划书
2014/01/10 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
大学生自我鉴定书
2014/03/24 职场文书
校企合作协议书
2014/04/16 职场文书
物资采购方案
2014/06/12 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
企业承诺书格式范文
2015/04/28 职场文书
公司岗位说明书
2015/10/08 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技