pygame.mixer.Sound воспроизводит только шум и выходит. Зачем? - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь воспроизвести звук с помощью Python через pygame, но слышу только шум, и программа закрывается. Длина трека не менее 20 секунд, но моя программа завершает работу почти сразу после всплытия.

Я пробовал решения, отличные от pygame, и я слышу, как они тоже появляются. Просто не уверен, почему он просто выскакивает и закрывается, и кажется, что он связан с моей машиной (Mac).

import pygame
pygame.init()
pygame.mixer.init()
sound = pygame.mixer.Sound("SampleAudio_0.4mb.wav")
sound.play()
while pygame.mixer.get_busy():
    pygame.time.delay(1000000)

1 Ответ

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

Я скачал этот wav-файл: http://www.anzwad.com/dods/sound/ambient/thunder2.wav

Я побежал

import pygame
pygame.init()
pygame.mixer.init()
sound = pygame.mixer.Sound("thunder2.wav")
sound.play()
print(pygame.mixer.get_busy())
while pygame.mixer.get_busy():
    print(pygame.mixer.get_busy())
    pygame.time.delay(1000)
print(pygame.mixer.get_busy())

Он напечатал это:

pygame 1.9.4
Hello from the pygame community. https://www.pygame.org/contribute.html
1
1
1
1
1
1
1
1
1
1
1
0

Это работает для вас? Для меня 1 (значение 1 означает, что get_busy возвращает значение true) печатаются во время воспроизведения звукового файла, а затем, когда звук заканчивается и задержка заканчивается, программа закрывается.

Это та функциональность, которая вам нужна?

Примечание моя версия на Python - 3.7.1

Если этот код Python не имеет той же функциональности на вашем компьютере, это может позволить нам точно определить проблему.

Если используемый вами звуковой файл общедоступен, и вы публикуете ссылку, я также могу протестировать свою программу с этим файлом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...