python - 为什么 pygame.event.wait 在 20 秒左右后停止音乐播放

标签 python pygame mp3

所以...我使用这段代码:

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()并循环等待直到音乐结束:

pygame.mixer.music.play()

clock = pygame.time.Clock()
while pygame.mixer.music.get_busy():
    pygame.event.poll()
    clock.tick(10)

关于python - 为什么 pygame.event.wait 在 20 秒左右后停止音乐播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61389698/

相关文章:

c# - 如何在 C# 中分层两个音频文件?

c++ - Qt Designer 代码生成问题

python - 使用列表理解修改列表中的列表

python datetime.time 操作

python - 绘制一个显示直到下次单击的形状

python - 在python中将sndarray转换为基于时间的数字?

python - 没有下载模块可以在 Python 中使用 MP3 处理声音?

python - 使用正则表达式将自由文本解析为字典

python - Pygame 游戏尝试不起作用,我不明白为什么

python - 从 mp3 读取幅度数据