2011-12-05 107 views
4

我一直在嘗試加載和播放pygame中的聲音時出現問題。大多數人似乎對MP3有困難,但由於某種原因,我甚至無法播放wav。Pygame加載聲音時出錯:模塊格式無法識別

>>> f=open('menuscreen.wav',"rb") 
>>> pygame.mixer.init() 
>>> pygame.mixer.music.load(f) 
Traceback (most recent call last): 
    File "<string>", line 1, in <fragment> 
pygame.error: Module format not recognized 

而且也不這項工作:

>>> k = pygame.mixer.Sound('menuscreen.wav') 
>>> pygame.mixer.init() 
>>> pygame.mixer.music.load(k) 
Traceback (most recent call last): 
    File "<string>", line 1, in <fragment> 
pygame.error: Couldn't read from RWops 

而且也沒有這樣的:

>>> import pygame 
>>> pygame.mixer.init() 
>>> pygame.mixer.music.load('menuscreen.wav') 
Traceback (most recent call last): 
    File "<string>", line 1, in <fragment> 
pygame.error: Unable to load WAV file 

我使用的是2.7.2和1.9.1的Pygame

回答

5

你應該通過傳遞文件名作爲第一個參數來加載文件。這適用於我的系統(相同的python和pygame版本)就好:

>>> import pygame 
>>> pygame.mixer.init() 
>>> pygame.mixer.music.load('filename.wav') 
>>> pygame.mixer.music.play() 

HTH!

+0

仍然無效:(看我更新的帖子 – JJJ

+2

@JJJ最明顯的解釋是,你的聲音文件有問題,那麼可能它不在你認爲它的目錄中?(嘗試通過絕對路徑而不是fname)文件是否有錯誤的權限?你確定這個文件是一個真正的wav而不是 - 例如 - 一個錯誤地給出擴展名「.wav」的MP4?你能否播放文件一個外部的wav播放器?我在Ubuntu的64位,但這不應該真的有所作爲... – mac

+1

啊,非常感謝,我發現了這個問題,WAV就像你說的,根本不是WAV,但是MP3。 – JJJ