检查 PyGame 混音器通道是否正在播放声音

Check If A PyGame Mixer Channel Is Playing A Sound

我正在寻找一种方法来查看 pygame.mixer.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() 我可以检查频道是否正在播放声音,它是 returns TrueFalse。这是我的最终代码:

if pygame.mixer.Channel(0).get_busy() == True:
    print("playing a sound")
else:
    print("not playing")

这里是 link 文档以获取更多信息:https://www.pygame.org/docs/ref/mixer.html#pygame.mixer.get_busy