Pygame加载音频时出错:模块格式无法识别

4 投票
2 回答
8998 浏览
提问于 2025-04-17 07:45

我在用pygame加载和播放声音时遇到了问题。大多数人似乎在处理MP3格式时有困难,但我不知道为什么,我连wav格式的声音都无法播放。

>>> 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版本和pygame 1.9.1版本。

2 个回答

0

为了避免每一行代码都写得那么长,你可以这样做:

from pygame import mixer
mixer.init()
mixer.music.load('songX.mp3')
mixer.music.play()

(这是@Mac的回答的简化版)

6

你应该通过把文件名作为第一个参数来加载文件。在我的系统上(使用相同的Python和pygame版本)这样做是没问题的:

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

希望这对你有帮助!

撰写回答