我正在寻找一种方法来查看pygame.mixer.Channel
当前是否正在播放声音。例如,仅在特定 channel 中播放的声音结束后才执行某些操作。这是我当前播放声音的代码:
import pygame
pygame.mixer.pre_init()
pygame.mixer.init()
pygame.init()
pygame.mixer.Channel(0).play(pygame.mixer.Sound('coolsound.wav'), maxtime=2000)
我正在考虑这样的 if 语句:
if pygame.mixer.Channel(0) = playing a sound:
print("playing a sound")
else:
print("not playing")
显然这是行不通的,只是为了让你了解我在寻找什么。 谢谢!
最佳答案
我得到了答案。使用 get_busy() 我可以检查 channel 是否正在播放声音,它返回 True 或 False。这是我的最终代码:
if pygame.mixer.Channel(0).get_busy() == True:
print("playing a sound")
else:
print("not playing")
以下是有关详细信息的文档链接:https://www.pygame.org/docs/ref/mixer.html#pygame.mixer.get_busy
关于if-statement - 检查 PyGame 混合器 channel 是否正在播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54444765/