1

私はこの質問を見ました: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を使用しています)、何も再生されません。

4

3 に答える 3

1

pyaudioについては何も知りませんが、曲ファイルが実行時にプログラムに渡される最初の引数であることは明らかです。この行を見てください:または何かにwf = wave.open(sys.argv[1], 'rb')変更するだけsys.arg[1]です。'c:/filename.wav'

そして、あなたがそれに引数を渡さなければ、プログラムは今書かれているように実行されません。if len(sys.argv) < 2ブロックのため

于 2012-02-08T13:15:39.873 に答える
1

魔法のラインは次のとおりです。

wf = wave.open(sys.argv[1], 'rb')

これは、スクリプト(sys.argv[1])の最初の引数がwaveの入力として使用されていることを示しているようです。

于 2012-02-08T13:15:39.737 に答える