且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-08-21 12:03:52

输出结果

pyaudio:基于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()                #播放录音文件