一体いつぶりの更新でしょうか。
久しぶりだな。
ところでpyGameで長尺の音声を再生しようとするとスロー再生になっちゃう。というのは割と有名な問題なんですが、あっさり解決出来る方法があったので書いておきます。
import pygame import pygame.mixer as m m.init(frequency=44100) # 44100Hzで初期化 m.music.load("audio.wav") m.music.play()
ミキサーを44100Hzで初期化しているんですが。
普通に見かけるチュートリアルとの違いはこれくらい。
これだけで再生がまともになります。
ただし、再生するオーディオは当然44100Hzじゃないとだめです。
ので、pyAudioなどをつかって再生したいオーディオファイルのサンプリング周波数を取得して渡してやるみたいな方法もあります。 要するにpygameのミキサーは再生したいファイルのサンプリング周波数をまるっと無視している。だから再生すると音がスロー再生みたいになっちゃったりする。ってこと・・・???? ではなさそうなんだよねえ。
短いオーディオファイルだと問題が起きないんですよね。だからやっぱバグだとは思うんだけど。
これで一応回避が可能だから覚えておいて損は無い! はず。