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

举报
一个处女座的程序猿 发表于 2021/03/28 02:44:13 2021/03/28
【摘要】 基于pyaudio利用Python编程实现播放音频mp3、wav等格式文件   目录 输出结果 实现代码         输出结果   实现代码 T1、while循环输出数据流的方法 def play(): chunk=1024 #2014kb wf=wave.open(r"16k....

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

 

目录

输出结果

实现代码


 

 

 

 

输出结果

 

实现代码

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


  
  1. def play():
  2. chunk=1024 #2014kb
  3. wf=wave.open(r"16k.wav",'rb')
  4. p=PyAudio()
  5. stream=p.open(format=p.get_format_from_width(wf.getsampwidth()),channels=wf.getnchannels(),rate=wf.getframerate(),output=True)
  6. data = wf.readframes(chunk) # 读取数据
  7. print(data)
  8. while data != '': # 播放
  9. stream.write(data)
  10. data = wf.readframes(chunk)
  11. print('while循环中!')
  12. print(data)
  13. stream.stop_stream() # 停止数据流
  14. stream.close()
  15. p.terminate() # 关闭 PyAudio
  16. print('play函数结束!')


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


  
  1. def play():
  2. chunk=1024 #2014kb
  3. wf=wave.open(r"16k.wav",'rb')
  4. p=PyAudio()
  5. stream=p.open(format=p.get_format_from_width(wf.getsampwidth()),channels=wf.getnchannels(),rate=wf.getframerate(),output=True)
  6. data = wf.readframes(chunk) # 读取数据
  7. while True:
  8. data=wf.readframes(chunk)
  9. if data=="":
  10. break
  11. stream.write(data)
  12. stream.stop_stream() # 停止数据流
  13. stream.close()
  14. p.terminate() # 关闭 PyAudio
  15. print('play函数结束!')
  16. if __name__ == '__main__':
  17. audio_file='16k.wav' #指定录音文件
  18. play() #播放录音文件


 

 

 

 

文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:yunyaniu.blog.csdn.net/article/details/80500847

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。