Проверьте, воспроизводит ли звук канал микшера PyGame - PullRequest
0 голосов
/ 30 января 2019

Я ищу способ проверить, воспроизводит ли 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")

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

1 Ответ

0 голосов
/ 30 января 2019

Я получил свой ответ.Используя 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#pygame.mixer.get_busy

...