python - 为什么 pygame.event.wait 在 20 秒左右后停止音乐播放
问题描述
所以......我使用这个代码:
import pygame
pygame.mixer.init()
pygame.init()
pygame.mixer.music.load('computersong.mp3')
pygame.mixer.music.play()
pygame.event.wait()
但是音乐播放了二十秒然后停止,我做错了什么?
解决方案
pygame.event.wait()
从事件队列中返回单个事件,但它不会等到音乐播放完毕。
您必须使用pygame.time.wait
并等待特定的时间:
pygame.time.wait(5000) # wait 5 seconds
另一种选择是使用pygame.mixer.music.get_busy()
and 循环等待直到音乐结束:
pygame.mixer.music.play()
clock = pygame.time.Clock()
while pygame.mixer.music.get_busy():
pygame.event.poll()
clock.tick(10)