为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 pygame 需要 time.sleep 在退出前播放声音?

为什么 pygame 需要 time.sleep 在退出前播放声音?

蝴蝶不菲 2021-11-02 20:17:34
我只是在玩 Python 播放 MP3 文件并碰到了 pygame我让它播放音乐,但不知何故我需要添加time.sleep(SECONDS)才能播放音乐,否则当我在终端中运行时它会立即存在这有什么原因还是我做得不对?import pygame, timefrom pygame.locals import *pygame.mixer.pre_init(44100, 16, 2, 4096)pygame.init()pygame.mixer.music.load("path/to/mp3/file")pygame.mixer.music.play()time.sleep(32)我不是在尝试创建游戏或任何东西,正如我所提到的,我只是在玩 Python
查看完整描述

1 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

谈论“为什么”——pygame.mixer.music并不是真正设计为一个前台进程:这个想法是在其他东西运行时播放背景音乐。如果用户说他们想退出游戏,如果该游戏一直运行直到当前的背景音乐曲目结束,他们通常会感到恼火。


如果您想阻塞直到音乐结束,一种低效但简单的方法是使用循环检查是否完成:


while pygame.mixer.music.get_busy():

  time.sleep(0.1)


查看完整回答
反对 回复 2021-11-02
  • 1 回答
  • 0 关注
  • 323 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号