在python程序开发过程之中,难免会遇到需要一些需要去读取特殊格式文件的需求。例如在游戏开发之中就需要去读取wav格式音频文件并模仿,那这一篇文章要来介绍的内就是python如何读取wav文件并且将其播放,想要学习的小伙伴就一起往下看看。

Python怎么读取wav文件?Python如播放wav格式音频文件

python要读取音频文件的话一般会使用pyaudio这个第三方库,这个库可以实现wav文件的录音和播放等功能,使用它就可以在python程序内去播放wav音频文件了。因为是第三方库,所以需要使用pip将其下载安装后才可以使用。

1.因为音频文件和视频文件一样都是属于媒体文件,想要将其读取到python之中的话就需要以二进制流的形式将文件打开才可以,示例如下:

chunk=1024  #2014kb
wf=wave.open(r"16k.wav",'rb')

2.获取到wav音频文件对象之后还要去实例化一个能够解析并播放音频文件的对象PyAudio,然后使用它再去解析wav音频文件对象并将其数据给取出来,示例如下:

p=PyAudio()
stream=p.open(format=p.get_format_from_width(wf.getsampwidth()),channels=wf.getnchannels(),rate=wf.getframerate(),output=True)
data = wf.readframes(chunk)

3.因为是二进制流的数据,所以使用通常的方法将其输出是没办法去播放声音的。还要用循环的方式调用readframes()方法才可以将二进制流数据转为声音信息,代码示例如下:

while data != 'b': 
    stream.write(data)
    data = wf.readframes(chunk)

4.最后再wav音频文件对象循环完,也就是播放完之后调用方法停止数据了并且将文件给关闭掉就可以了,代码如下所示:

stream.stop_stream()
stream.close()
p.terminate()

以上就是关于“Python怎么读取wav文件?Python如播放wav格式音频文件”的全部内容了,希望对你有所帮助。

更多python相关文章请访问分类:python

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!