Проверьте, воспроизводит ли звук канал микшера PyGame

Я ищу способ увидеть, если 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 pygame.mixer.Channel(0) = playing a sound:
    print("playing a sound")
else:
    print("not playing")

Очевидно, что это не сработает, просто чтобы дать вам представление о том, что я ищу. Спасибо!

1 ответ

Я получил свой ответ. Используя get_busy() я могу проверить, играет ли канал звук или нет, он возвращает 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

Другие вопросы по тегам