如何用pyaudio播放audiofile?
作者:互联网
我不理解pyaudio的示例材料.看来他们已经编写了一个完整的小程序,它让我失望了.
我如何只播放一个音频文件?
格式不是问题,我只想知道播放音频文件所需的最小代码.
解决方法:
这个例子对我来说非常清楚.您只需将示例保存为playwav.py调用:
python playwav.py my_fav_wav.wav
波浪示例带有一些额外的评论:
import pyaudio
import wave
import sys
# length of data to read.
chunk = 1024
# validation. If a wave file hasn't been specified, exit.
if len(sys.argv) < 2:
print "Plays a wave file.\n\n" +\
"Usage: %s filename.wav" % sys.argv[0]
sys.exit(-1)
'''
************************************************************************
This is the start of the "minimum needed to read a wave"
************************************************************************
'''
# open the file for reading.
wf = wave.open(sys.argv[1], 'rb')
# create an audio object
p = pyaudio.PyAudio()
# open stream based on the wave object which has been input.
stream = p.open(format =
p.get_format_from_width(wf.getsampwidth()),
channels = wf.getnchannels(),
rate = wf.getframerate(),
output = True)
# read data (based on the chunk size)
data = wf.readframes(chunk)
# play stream (looping from beginning of file to the end)
while data != '':
# writing to the stream is what *actually* plays the sound.
stream.write(data)
data = wf.readframes(chunk)
# cleanup stuff.
stream.close()
p.terminate()
标签:python,audio,pyaudio 来源: https://codeday.me/bug/20191006/1858348.html