2012-03-11 32 views
1

我生成使用Python Wave庫波,並使用自定義文件作家將它們存儲在內存中。但是,每當我嘗試用Pygame播放它們時,播放速度都極其緩慢。如果我救完全相同的對象到一個文件中,然後回放,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() 

任何想法?

回答

1

與您所提供的細節,我最好的猜測是,你還沒有指定所有的參數,以pygame.mixer.init(),或錯誤地指定了一些。您的評論堅持認爲頻率是正確的,但這不是唯一的因素。大小(8位,無符號)是一個因素,因爲通道(在您的代碼中沒有提到,但根據Pygame文檔默認爲2)。

當你創建的波,它寫了一個文件,然後問Pygame的播放該波形文件,所有必要的參數由波頭文件中定義。

所以,仔細檢查位寬(尺寸參數),指定的通道參數,如果不解決這個問題,編輯原始的問題,指定你用來寫波形文件的代碼。