加载声音的Pygame错误:无法识别模块格式

JJJ*_*JJJ 4 python pygame

我一直在尝试加载和播放pygame中的声音时遇到问题.大多数人似乎都遇到了MP3问题,但由于某种原因,我甚至无法获得玩耍.

>>> 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
Run Code Online (Sandbox Code Playgroud)

这也不起作用:

>>> 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
Run Code Online (Sandbox Code Playgroud)

这两个都没有:

>>> 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
Run Code Online (Sandbox Code Playgroud)

我正在使用2.7.2和pygame 1.9.1

mac*_*mac 6

您应该通过将文件名作为第一个参数传递来加载文件.这适用于我的系统(相同的python和pygame版本)就好了:

>>> import pygame
>>> pygame.mixer.init()
>>> pygame.mixer.music.load('filename.wav')
>>> pygame.mixer.music.play()
Run Code Online (Sandbox Code Playgroud)

HTH!

  • @JJJ最明显的解释是你的声音文件有问题.也许它不在您认为的目录中?(尝试将绝对路径传递给它而不是仅传递fname).文件的权限是否错误?你确定文件是真正的wav而不是 - 例如 - MP4错误地给出了扩展名`.wav`吗?你可以在外部wav播放器中播放文件吗?我在ubuntu 64位,但这不应该有所作为...... (2认同)