为什么pygame需要时间。睡眠在退出前播放声音?

2024-03-29 11:55:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是在玩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


Tags: 文件fromimport终端time音乐initmusic
1条回答
网友
1楼 · 发布于 2024-03-29 11:55:31

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


如果要在音乐结束前阻止,一种低效但简单的方法是使用检查完成情况的循环:

while pygame.mixer.music.get_busy():
  time.sleep(0.1)

相关问题 更多 >