我不了解pyaudio的示例材料。看来他们写了整个小程序,这让我失望了。
如何只播放一个音频文件?
格式不是问题,我只想知道播放音频文件所需的最少代码。
这个例子对我来说似乎很清楚。您只需将示例另存为playwav.py调用即可:
python playwav.py my_fav_wav.wav
带有一些额外注释的wave示例:
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()