我正在开发游戏,并且在尝试加载之前有一个检查有效音频文件的功能。该函数如下所示:
def load_sound(name):
class NoneSound:
def play(self): pass
if not pygame.mixer or not pygame.mixer.get_init():
return NoneSound()
fullname = os.path.join('data', name)
try:
sound = pygame.mixer.Sound(fullname)
except pygame.error:
print('Cannot load sound:', fullname)
raise SystemExit
return sound
传递给此函数的对象只是:
fire = load_sound("sounds/laser.wav")
py文件位于一个文件夹中,该文件夹还包含一个名为data的文件夹。嵌套在几个文件夹中,其中一个是“声音”。 laser.wav文件位于该文件夹中:
该函数失败并显示错误:
Cannot load sound: data\sounds/laser.wav
为什么python在数据之后添加\应该是/? 当我直接加载文件时,它们加载正常,例如:
music = pygame.mixer.music.load("data/music/Zone_66_Theme.ogg")
更具体地说,为什么找不到文件?
答案 0 :(得分:0)
事实证明代码是好的,这是问题的WAV文件。我将laser.wav转换为OGG文件,现在文件加载正常。