【问题标题】:Music not playing from file, but works fine in IDLE音乐不能从文件中播放,但在 IDLE 中可以正常播放
【发布时间】:2017-09-05 12:23:27
【问题描述】:

我尝试制作一个声音文件,从 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,它们的结果相同。 所以基本上,我怎样才能使文件中的音乐正常工作?

【问题讨论】:

    标签: python-3.x audio pygame


    【解决方案1】:

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

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

    【讨论】:

    • 它在同一个文件夹中,.py 和 Sounds,但将文件路径更改为完整版本修复了它。谢谢
    • @FrozenDude101 如果此答案对您有所帮助,请接受(按复选标记)和/或投票。
    【解决方案2】:

    有趣的是,在 Idle 之外运行时,相对路径似乎不起作用。当更改为使用文件的完整路径时,一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-12
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-13
      相关资源
      最近更新 更多