pygame.mixer.musi c воспроизводит звук нормально, но pygame.mixer.Sound выдает ошибку «Невозможно открыть файл» - PullRequest
1 голос
/ 27 февраля 2020

У меня есть простой код, в котором я хочу воспроизвести аудиофайл, используя класс микшера Pygame. Когда я делаю:

import pygame

dir_path = os.path.dirname(os.path.realpath(__file__))
path = os.path.join(dir_path, "mp3s", 'info.mp3')

pygame.mixer.init()
pygame.mixer.music.load(path)
pygame.mixer.music.play()

это работает просто отлично. Но когда я пытаюсь сделать то же самое с:

import pygame

dir_path = os.path.dirname(os.path.realpath(__file__))
path = os.path.join(dir_path, "mp3s", 'info.mp3')

pygame.mixer.init()
mysound = pygame.mixer.Sound(file=path)
pygame.mixer.Sound.play(mysound)

Это дает ошибку Unable to open file '/home/pi/myproject/mp3s/info.mp3'

Я попробовал поискать в Google, и единственное, что я смог найти, это попробовать pygame.init() или pygame.display.set_mode((400, 300)) ни один из которых не работал для меня ... Есть идеи, что может быть не так? Я использую Raspberry Pi с установленным Raspbian и python 3.7 с Pygame 1.9.6

1 Ответ

3 голосов
/ 27 февраля 2020

Вы не можете использовать класс Sound для воспроизведения mp3, поскольку он поддерживает только ogg и wav.

См. документы из pygame.mixer.Sound :

Звук можно загрузить из аудиофайла OGG или из несжатого файла WAV.

Единственный способ воспроизвести файл mp3 с помощью Pygame - использовать pygame.mixer.music.

...