3
import pyaudio
import wave

chunk = 1024
wf = wave.open('yes.mp3', 'rb')
p = pyaudio.PyAudio()

stream = p.open(
    format = p.get_format_from_width(wf.getsampwidth()),
    channels = wf.getnchannels(),
    rate = wf.getframerate(),
    output = True)
data = wf.readframes(chunk)

while data != '':
    stream.write(data)
    data = wf.readframes(chunk)

stream.close()
p.terminate()

これをどのように配置しても、複数の方法を試している間、ターミナルで次のエラーが発生し続けるようです:

raise Error, 'file does not start with RIFF id'

私はpygletを使用しますが、pygletをインポートできますが、メディアと他のすべてのモジュールが検出されません。

何か助けはありますか?

4

1 に答える 1

1

waveではないファイルを開こうとしていますwav。代わりに、ファイルを開こうとしていmp3ます。モジュールはファイルをwave開くことしかできないため、 を に変換するwav必要があります。pyglet を使用してファイルを再生する方法は次のとおりです。mp3wavmp3

        import pyglet

        music = pyglet.resource.media('music.mp3')
        music.play()

        pyglet.app.run()

あなたが試している方法よりもはるかに簡単です。pyglet でどのようなエラーが発生していますか?

于 2013-10-22T22:44:37.427 に答える