python - Pygame背景音乐不播放

标签 python pygame

我尝试添加背景音乐,但没有声音。我可以想到 3 个可能的原因,但我不知道如何解决。

第一个可能的原因:我将该文件放置在计算机上的错误位置 (我把它放在 Windows(C:) 的“用户”下,因为那是我的 pygame 文件所在的位置)

第二个可能的原因:我将代码放在了错误的位置。 (我把它放在主循环下,我没有看到其他人这样做,但我也有一个开始屏幕,我不希望开始屏幕和实际游戏使用相同的音乐。)

第三个可能的原因:代码错误/不完整。 (我在这里看到的代码只有三行,但有时)

pygame.init()
pygame.mixer.init()
while run:

    pygame.mixer.music.load('bgm.mp3')
    pygame.mixer.music.play()

这是我的整个代码:

Code is removed for now. Will re-upload in 1 to 2 months.

还请指导我如何添加三个不同的背景音乐。 1 为我的开始屏幕,1 为我的实际游戏,1 为我的结束屏幕。

开始和结束屏幕应该有相同的背景音乐,但我不确定如何转换它。

我还没有添加结束屏幕,因为我不知道如何添加,但是,就上下文而言,当敌人 Sprite 接触玩家 Sprite 时,游戏就结束了。目前,当敌方 Sprite 接触玩家 Sprite 时,游戏就会像 run = False 中那样关闭。

最佳答案

mp3 文件在主循环中不断加载并重新启动。如果您想连续播放背景音乐,那么您必须仅在不播放音乐的情况下启动和重新启动音乐。
通过 pygame.mixer.music.get_busy() 检查音乐流是否正在播放。例如:

run = True
while run:

    if not pygame.mixer.music.get_busy():
        pygame.mixer.music.load('bgm.mp3')
        pygame.mixer.music.play()

关于python - Pygame背景音乐不播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56572662/

相关文章:

python - 将 Excel 文件的第 n 行到 n+x 行加载到 python 中的数据框中,其中 n 和 x 是预定义的

python - 如何在 Pandas 中使用 groupby].transform ('count' )时计算唯一值

python - 如何使用 sprite 表中的多个图像创建行走角色

python - 如何让箭头朝鼠标方向射出?

python - 基于端点的旋转

python 3.2 : pygame. KEYDOWN 只能工作 1 次?

python - 到达边界后如何重置位置

Python代码对象、函数和默认参数

python - 如何使用 dateutil.tz.tz.tzoffset 来本地化使用 strptime 创建的时区原始日期时间?

python - 在 Anaconda 中安装 Keras 的问题