音乐不是从文件播放,但在IDLE中工作正常

时间:2017-09-05 12:23:28

标签: python-3.x audio pygame

我试图让声音文件正常工作,而且从IDLE 3.6开始,它工作正常。 但是,当我尝试从实际文件中运行它时,它会崩溃并崩溃。 错误只说: '无法打开' Sounds / music.ogg'

此代码具有相同的效果(从IDLE运行正常,从文件中断):

try:
    import pygame

    pygame.init()
    pygame.mixer.pre_init(44100, 16, 2, 4096)
    screen = pygame.display.set_mode((600, 300))
    pygame.mixer.music.load("Sounds/music.ogg")
    pygame.mixer.music.play(loops = -1)
except Exception as E:
    print(E)
    input()

我尝试过其他文件格式.mp3和.wav,它们的结果相同。 所以基本上,我怎样才能让音乐从文件中正常工作?

2 个答案:

答案 0 :(得分:1)

最有可能的问题是声音文件不在正确的位置。您应该在与.py文件相同的位置放置一个文件夹“Sounds”。当然,Sounds文件夹应该包含一个文件“music.ogg”。

另一种选择是使用绝对文件路径。这意味着做这样的事情:pygame.mixer.music.load("C:/SomeFolder/MainFolder/Sounds/music.ogg")。这告诉程序查看该确切位置而不是相对于其位置。

答案 1 :(得分:0)

有趣的是,在空闲时运行时,足够的相对路径似乎不起作用。当更改为使用文件的完整路径时,everyhing工作正常。