我看着這個問題:pyaudio help play a file我如何真的在PyAudio上播放歌曲?
雖然這個問題沒有得到答案,但我從來沒有得到明確的答案,實際上把歌曲文件放在哪裏。
這是用於播放WAVE文件的代碼:
""" Play a WAVE file. """
import pyaudio
import wave
import sys
chunk = 1024
if len(sys.argv) < 2:
print "Plays a wave file.\n\n" +\
"Usage: %s filename.wav" % sys.argv[0]
sys.exit(-1)
wf = wave.open(sys.argv[1], 'rb')
p = pyaudio.PyAudio()
# open stream
stream = p.open(format =
p.get_format_from_width(wf.getsampwidth()),
channels = wf.getnchannels(),
rate = wf.getframerate(),
output = True)
# read data
data = wf.readframes(chunk)
# play stream
while data != '':
stream.write(data)
data = wf.readframes(chunk)
stream.close()
p.terminate()
我通過代碼看,但我不能在代碼中查找什麼,我居然將音樂文件本身。當我按下我的程序中的「播放」按鈕時(我在這個程序中使用wxform)沒有播放任何東西。
而且還因爲'sys.argv [1]'會引發異常。 – 2012-02-08 13:27:25
是的。但是這種反思是基於他改變了'wf ='行然後仍然沒有音頻播放的想法......但是當然,這將在輸出中顯示出來。 – 2012-02-08 13:28:48
啊,是的,沒有考慮到這一點。我想我只是覺得他很聰明,可以刪除那個'if'聲明,但我不太確定...... – 2012-02-08 21:37:35