0

Python Waveライブラリを使用してWaveを生成し、カスタムファイルライターを使用してそれらをメモリに保存しています。ただし、Pygameでプレイしようとすると、再生が非常に遅くなります。まったく同じオブジェクトをファイルに保存してから再生すると、pygameは通常の速度で再生します。

(誰かが省略した)コード:

pygame.init()
pygame.mixer.init(size=8, buffer=2048, frequency=44100) #Thats the correct freq, but it does the same regardless
x = pygame.mixer.Sound(obj) #Load the output of the wave writer
x.play()

何か案は?

4

1 に答える 1

1

あなたが提供した詳細から、あなたが pygame.mixer.init() にすべてのパラメーターを指定していないか、いくつかのパラメーターを間違って指定したことが、私の最善の推測です。あなたのコメントは頻度が正しいと主張していますが、それが唯一の要因ではありません。サイズ (8 ビット、符号なし) は要因であり、チャネル (コードには記載されていませんが、Pygame のドキュメントによるとデフォルトは 2 です) も同様です。

Wave を作成し、それをファイルに書き込み、Pygame にその Wave ファイルを再生するように依頼すると、必要なすべてのパラメーターが Wave ヘッダーによって定義されました。

したがって、ビット幅 (サイズ パラメーター) を再確認し、channels パラメーターを指定します。それでも問題が解決しない場合は、元の質問を編集して、wave ファイルの書き込みに使用したコードを指定します。

于 2012-03-11T07:12:14.113 に答える