繁体   English   中英

如何让音乐在 Pygame 中重播?

[英]How to get music to replay in Pygame?

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

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

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

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

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

pygame.mixer.music.play(-1)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM