python学习音频-详解python播放音频的三种方法
第一种 使用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播放音频的三种方法相关推荐
- python numpy array转置_详解Numpy数组转置的三种方法T、transpose、swapaxes
Numpy是高性能科学计算和数据分析的基础包,里面包含了许多对数组进行快速运算的标准数学函数,掌握这些方法,能摆脱数据处理时的循环. 1.首先数组转置(T) 创建二维数组data如下: 进行矩阵运算时 ...
- 详解爬虫模拟登陆的三种方法
摘要: 在进行爬虫时,除了常见的不用登录就能爬取的网站,还有一类需要先登录的网站.比如豆瓣.知乎,以及上一篇文章中的桔子网.这一类网站又可以分为:只需输入帐号密码.除了帐号密码还需输入或点击验证码等类 ...
- python中none算变量吗_在python中对变量判断是否为None的三种方法总结
三种主要的写法有: 第一种:if X is None; 第二种:if not X: 当X为None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这 ...
- linux nc反弹命令,详解NC反弹shell的几种方法
假如ubuntu.centos为目标服务器系统 kali为攻击者的系统,ip为:192.168.0.4,开放7777端口且没被占用 最终是将ubuntu.centos的shell反弹到kali上 正向 ...
- php反弹教程,详解NC反弹shell的几种方法
假如ubuntu.CentOS为目标服务器系统 kali为攻击者的系统,ip为:192.168.0.4,开放7777端口且没被占用 最终是将ubuntu.CentOS的shell反弹到kali上 正向 ...
- 详解Java解析XML的四种方法
http://developer.51cto.com 2009-03-31 13:12 cnlw1985 javaeye 我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...
- mysql临键锁_详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)
详解 MySql InnoDB 中的三种行锁(记录锁.间隙锁与临键锁) 前言 InnoDB 通过 MVCC 和 NEXT-KEY Locks,解决了在可重复读的事务隔离级别下出现幻读的问题.MVCC ...
- html正方形边框,详解HTML设置边框的三种方式
HTML设置边框的三种方式 border-width: 1px 2px 2px; border-style: solid dashed dotted; border-color:red green b ...
- 计算机怎么接多元一次方程,使用Excel解多元一次方程组的三种方法
本文列出了使用Excel中解多元一次方程组的三种方法:矩阵解法.用克莱姆法则和用规划求解的方法. 方法一:矩阵解法 原理:对于由n个未知数,n个方程组成的多元一次方程组: 写成矩阵形式为Ax=b,其中 ...
最新文章
- 分布式锁的三种实现方式_基于 redis 的分布式锁实现
- C语言怎么读取串口的数据为,如何通过串口来读写数据,请教达人
- 9适应之力加多少攻击_NBA球星生涯最低分都是多少?詹皇碰上麦迪仅得3分,哈登最低1分...
- CF140C-New Year Snowmen【优先队列】
- python图形化编程实验_转换图像RGB-实验室与python
- Leetcode--96. 不同的二叉搜索树(java)
- python贪吃蛇源码_Python:游戏:贪吃蛇(附源码)
- think in java第6_think-in-java/6.5 protected.md at master · quanke/think-in-java · GitHub
- 谷粒商城:10.商品服务 — 属性分组
- python float转int_Python 常见内置数据类型及其转换方法
- 苹果计算机 win10,图文教程!苹果电脑和WIN10的完美融合井井有条的美
- 详解使用SSH远程连接Ubuntu服务器系统
- 数值计算之 插值法(6)样条插值
- 2019 年第 32 周 DApp 影响力排行榜 | TokenInsight
- 微信小程序顶部下拉菜单栏
- FastGCNL:FAST LEARNING WITH GRAPH CONVOLUTIONAL NETWORKS VIA IMPORTANCE SAMPLING
- 【LeetCode】606.根据二叉树创建字符串
- 台湾鑫创SSS1700最新版中文说明书|SSS1700最新版中文规格书|SSS1700datasheet中文讲解
- 西安电子科技大学电子工程学院卓越计划保研经验贴
- The Adventure of TinTin -- The Shooting star
热门文章
- 每天一点点之vue框架开发 - 部署到线上
- Vue简单用法目录总结 以及 前端基础总结传送门:
- linux系统知识 - 信号基础
- Django之Model世界
- hdu 3786 寻找直系亲属
- Readyfor4GB帮你的32位Win7用4G内存
- python编程实例详解-Python编程之列表操作实例详解【创建、使用、更新、删除】...
- python中类方法与实例方法的区别-Python实例方法、静态方法和类方法详解(包含区别和用法)...
- 上海找python工作-python上海招聘
- python面向对象编程的优点-Python面向对象编程