pyaudio:基于pyaudio利用Python编程实现播放音频mp3、wav等格式文件

基于pyaudio利用Python编程实现播放音频mp3、wav等格式文件


输出结果

实现代码

T1、while循环输出数据流的方法

def play():
    chunk=1024  #2014kb
    wf=wave.open(r"16k.wav",'rb')
    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)  # 读取数据
    print(data)
    while data != '':  # 播放
        stream.write(data)
        data = wf.readframes(chunk)
        print('while循环中!')
        print(data)
    stream.stop_stream()   # 停止数据流
    stream.close()
    p.terminate()  # 关闭 PyAudio
    print('play函数结束!')

T2、while循环输出+if判断数据流的方法

def play():
    chunk=1024  #2014kb
    wf=wave.open(r"16k.wav",'rb')
    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)  # 读取数据

    while True:
        data=wf.readframes(chunk)
        if data=="":
            break
        stream.write(data)
    stream.stop_stream()   # 停止数据流
    stream.close()
    p.terminate()  # 关闭 PyAudio
    print('play函数结束!')

if __name__ == '__main__':
    audio_file='16k.wav'  #指定录音文件
    play()                #播放录音文件
(0)

相关推荐