第一种 使用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播放音频的三种方法相关推荐

  1. python numpy array转置_详解Numpy数组转置的三种方法T、transpose、swapaxes

    Numpy是高性能科学计算和数据分析的基础包,里面包含了许多对数组进行快速运算的标准数学函数,掌握这些方法,能摆脱数据处理时的循环. 1.首先数组转置(T) 创建二维数组data如下: 进行矩阵运算时 ...

  2. 详解爬虫模拟登陆的三种方法

    摘要: 在进行爬虫时,除了常见的不用登录就能爬取的网站,还有一类需要先登录的网站.比如豆瓣.知乎,以及上一篇文章中的桔子网.这一类网站又可以分为:只需输入帐号密码.除了帐号密码还需输入或点击验证码等类 ...

  3. python中none算变量吗_在python中对变量判断是否为None的三种方法总结

    三种主要的写法有: 第一种:if X is None; 第二种:if not X: 当X为None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这 ...

  4. linux nc反弹命令,详解NC反弹shell的几种方法

    假如ubuntu.centos为目标服务器系统 kali为攻击者的系统,ip为:192.168.0.4,开放7777端口且没被占用 最终是将ubuntu.centos的shell反弹到kali上 正向 ...

  5. php反弹教程,详解NC反弹shell的几种方法

    假如ubuntu.CentOS为目标服务器系统 kali为攻击者的系统,ip为:192.168.0.4,开放7777端口且没被占用 最终是将ubuntu.CentOS的shell反弹到kali上 正向 ...

  6. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

  7. mysql临键锁_详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)

    详解 MySql InnoDB 中的三种行锁(记录锁.间隙锁与临键锁) 前言 InnoDB 通过 MVCC 和 NEXT-KEY Locks,解决了在可重复读的事务隔离级别下出现幻读的问题.MVCC  ...

  8. html正方形边框,详解HTML设置边框的三种方式

    HTML设置边框的三种方式 border-width: 1px 2px 2px; border-style: solid dashed dotted; border-color:red green b ...

  9. 计算机怎么接多元一次方程,使用Excel解多元一次方程组的三种方法

    本文列出了使用Excel中解多元一次方程组的三种方法:矩阵解法.用克莱姆法则和用规划求解的方法. 方法一:矩阵解法 原理:对于由n个未知数,n个方程组成的多元一次方程组: 写成矩阵形式为Ax=b,其中 ...

最新文章

  1. 分布式锁的三种实现方式_基于 redis 的分布式锁实现
  2. C语言怎么读取串口的数据为,如何通过串口来读写数据,请教达人
  3. 9适应之力加多少攻击_NBA球星生涯最低分都是多少?詹皇碰上麦迪仅得3分,哈登最低1分...
  4. CF140C-New Year Snowmen【优先队列】
  5. python图形化编程实验_转换图像RGB-实验室与python
  6. Leetcode--96. 不同的二叉搜索树(java)
  7. python贪吃蛇源码_Python:游戏:贪吃蛇(附源码)
  8. think in java第6_think-in-java/6.5 protected.md at master · quanke/think-in-java · GitHub
  9. 谷粒商城:10.商品服务 — 属性分组
  10. python float转int_Python 常见内置数据类型及其转换方法
  11. 苹果计算机 win10,图文教程!苹果电脑和WIN10的完美融合井井有条的美
  12. 详解使用SSH远程连接Ubuntu服务器系统
  13. 数值计算之 插值法(6)样条插值
  14. 2019 年第 32 周 DApp 影响力排行榜 | TokenInsight
  15. 微信小程序顶部下拉菜单栏
  16. FastGCNL:FAST LEARNING WITH GRAPH CONVOLUTIONAL NETWORKS VIA IMPORTANCE SAMPLING
  17. 【LeetCode】606.根据二叉树创建字符串
  18. 台湾鑫创SSS1700最新版中文说明书|SSS1700最新版中文规格书|SSS1700datasheet中文讲解
  19. 西安电子科技大学电子工程学院卓越计划保研经验贴
  20. The Adventure of TinTin -- The Shooting star

热门文章

  1. 每天一点点之vue框架开发 - 部署到线上
  2. Vue简单用法目录总结 以及 前端基础总结传送门:
  3. linux系统知识 - 信号基础
  4. Django之Model世界
  5. hdu 3786 寻找直系亲属
  6. Readyfor4GB帮你的32位Win7用4G内存
  7. python编程实例详解-Python编程之列表操作实例详解【创建、使用、更新、删除】...
  8. python中类方法与实例方法的区别-Python实例方法、静态方法和类方法详解(包含区别和用法)...
  9. 上海找python工作-python上海招聘
  10. python面向对象编程的优点-Python面向对象编程