Звук Pygame продолжает повторяться - PullRequest
1 голос
/ 01 февраля 2020

Я пытаюсь сыграть звук в конце игры, когда есть проигрыш. Ранее этот код работал с Python 3.5, но он проигрывал после воспроизведения звука. Я обновился до python 3.6, и теперь он продолжает повторяться. Как воспроизвести звук до конца?

import pygame
def sound():
    pygame.mixer.init()
    sound1 = pygame.mixer.Sound('womp.wav')
    while True:
        sound1.play(0)
    return

1 Ответ

1 голос
/ 01 февраля 2020

while True - это бесконечный l oop:

while True:
   sound1.play(0)

Звук будет воспроизводиться непрерывно.

Использование get_length() чтобы получить длину звука в секундах. И дождитесь окончания звука:
(аргумент pygame.time.wait() в миллисекундах)

import pygame
def sound():
    pygame.mixer.init()
    sound1 = pygame.mixer.Sound('womp.wav')

    sound1.play(0)
    pygame.time.wait(int(sound1.get_length() * 1000))
...