Pygame не выдает ошибок, но не воспроизводит звук - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь использовать Pygame для воспроизведения файла .mp3 или .wav. Я хочу сделать это на моем Raspberry Pi 4 под управлением Raspbian Buster, хотя тот же тест был выполнен на Windows и происходят те же результаты:

import pygame

pygame.init()
pygame.mixer.init()


audioFiles = [r'C:\pythonAudio\romeo&juliet.wav']

pygame.mixer.music.load(audioFiles[0])
pygame.mixer.music.play(0)

При запуске этого и других ошибок не возникает на консоль выводится следующее:

pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
[Finished in 1.372s]

Я что-то упускаю из виду? Я использовал SimpleAudio в качестве альтернативы, которая работает, но совместима только с WAV-файлами, а не с .mp3.

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Программа заканчивается, когда музыка c воспроизводится в другом потоке. Другими словами, pygame.mixer.music.play(0) не будет ждать окончания вашей песни sh, а будет воспроизводить ее одновременно с вашей программой. Попробуйте:

import pygame

pygame.init()
pygame.mixer.init()


audioFiles = [r'C:\pythonAudio\romeo&juliet.wav']

pygame.mixer.music.load(audioFiles[0])
pygame.mixer.music.play(0)

while pygame.mixer.music.get_busy():
    pygame.event.pump()

Это будет держать вашу программу работающей, пока микшер больше не будет занят (больше не будет играть музыку c).

0 голосов
/ 03 марта 2020

Попробуйте преобразовать его в Ogg. Поддержка других аудиоформатов, как правило, немного несовместима с Pygame.

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