我看着这个问题: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