详解python播放音频的三种方法

作者:lawsX云 时间:2021-12-16 09:19:11 

第一种 使用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播放音频的三种方法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://blog.csdn.net/Boogyman/article/details/101064349

标签:python,播放,音频
0
投稿

猜你喜欢

  • wxpython中利用线程防止假死的实现方法

    2022-01-27 00:45:29
  • Python类中__init__() 和self的详细解析

    2021-04-22 22:05:06
  • 教你为SQL Server数据库构造安全门

    2009-01-20 11:34:00
  • oracle中rownum和row_number()

    2024-01-12 19:21:37
  • Python continue语句用法实例

    2021-02-16 07:40:00
  • php session_start()出错原因分析及解决方法

    2024-06-07 15:44:29
  • 详解Golang实现http重定向https的方式

    2024-05-09 09:47:02
  • sql 判断函数、存储过程是否存在的代码整理

    2024-01-28 20:09:53
  • vue设计一个倒计时秒杀的组件详解

    2024-05-09 10:41:55
  • asp如何制作一个股票滚屏显示面板?

    2010-07-07 12:27:00
  • python Jupyter运行时间实例过程解析

    2022-04-15 04:38:21
  • iOS和Android用同一个二维码实现跳转下载链接的方法

    2024-04-22 13:24:16
  • python 队列基本定义与使用方法【初始化、赋值、判断等】

    2023-08-13 06:34:46
  • 如何解决因使用On Error Resume Next导致错误不正确的问题?

    2009-12-16 18:34:00
  • Python装饰器的应用场景代码总结

    2022-09-22 19:24:54
  • thinkPHP利用ajax异步上传图片并显示、删除的示例

    2024-06-07 15:34:26
  • python基于Pandas读写MySQL数据库

    2024-01-16 18:34:19
  • python scrapy爬虫代码及填坑

    2022-06-04 01:01:36
  • PHP addslashes()函数讲解

    2023-06-04 04:28:24
  • 常见数据库系统比较 Oracle数据库

    2010-07-28 12:44:00
  • asp之家 网络编程 m.aspxhome.com