我只是在用 Python 播放 MP3 文件,然后遇到了 pygame
我让它播放音乐,但不知何故我需要添加 time.sleep(SECONDS)
才能播放音乐,否则当我在终端中运行时它会立即存在
这是有原因的还是我做得不对?
import pygame, time
from 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
最佳答案
说到“为什么”——pygame.mixer.music
并不是真正设计为前台进程:其想法是,这是在其他程序运行时播放的背景音乐。如果用户说他们想退出游戏,如果游戏继续运行直到当前背景音乐结束,他们通常会感到恼火。
如果您想阻塞直到音乐结束,一种低效但简单的方法是使用检查完成的循环:
while pygame.mixer.music.get_busy():
time.sleep(0.1)
关于python - 为什么 pygame 在退出之前需要 time.sleep 来播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54600297/