怎么用python的pyaudio模块播放wav格式的音乐?

作者:朋克周 | 创建时间: 2023-06-11
在《用pygame播放MP3格式的音乐》里面,我介绍了python调用pygame播放音乐的方法。 本文,介绍一下,调用pyaudio播放音乐的方法。...
怎么用python的pyaudio模块播放wav格式的音乐?

操作方法

准备一个音频文件——d.wav。

加载模块和音频文件: import wave import pyaudio filepath = "D:/……/d.wav" f = wave.open(filepath,'rb')

获取音频的属性参数: pms = f.getparams() 我们可以知道,这是一个双声道音频。

单独提取出各参数的值,并加以定义: nchannels, sampwidth, framerate, nframes = pms[:4]

创建一个播放器: p = pyaudio.PyAudio()

把音频转化为音频流: s = p.open(format = p.get_format_from_width(sampwidth), channels = nchannels, rate = framerate, output = True) 上面定义的各个参数,在这里都用上了。

按照1024大小的块,读取音频数据: data = f.readframes(1024) 得到一系列二进制编码。

开始按照音频的参数,播放音频: while True: data = f.readframes(1024) s.write(data)

温馨提示

本文用了两个主要的模块:wave加载音频,pyaudio播放音频。
本文代码的缺点是,即使音频播放完毕,python shell还在运行,不会停止。
点击展开全文

更多推荐