【问题标题】:How to get music to replay in Pygame?如何让音乐在 Pygame 中重播?
【发布时间】:2015-12-12 04:37:19
【问题描述】:

在我的歌曲 (music.mp3) 结束后,它不会重播。我有以下代码:

# import pygame and other code
pygame.mixer.music.load('music.mp3')
pygame.mixer.music.play()
pygame.mixer.music.rewind()
pygame.init()

它不应该重播自己吗?如果没有,我如何让它在结束时重播?

【问题讨论】:

  • 可能与最后重置所有内容的init()调用有关。

标签: python pygame


【解决方案1】:

您的代码没有按照您的想法执行。它开始播放 MP3,但 play() 调用不会等到文件播放完毕,它立即返回,异步播放音乐。所以开始一首歌并在下一行代码中立即倒带是没有任何意义的。如果您希望音乐播放不止一次,请查看pygame.mixer.music.play()loop 参数。它允许播放音乐给定的次数或无限期。

【讨论】:

  • 是的,我昨晚确实想到了这一点,但感谢您的回答!
【解决方案2】:

播放函数需要整数次来播放声音。 -1 将其设置为无限。

pygame.mixer.music.play(-1)

编辑: 在设置混音器之前启动 pygame 是正确的做法,因为 pygame.init() 也会调用 pygame.mixer.init()。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-27
    • 2011-12-07
    • 2013-10-30
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多