Pygame mixer.musi c не может прочитать поток в формате mp3 - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь создать свой собственный проигрыватель musi c с Python, и, посмотрев на альтернативы, я остановился на использовании микшера pygame mixer.musi c для реального воспроизведения звука. (Я использовал Pygame раньше, обычно для реальных игр). Вместо этого я смотрел на playsound, пока не понял, что мне нужен способ воспроизвести следующую песню после ее завершения, а также возможность проигрывать и приостанавливать звук. Мне также нужно проигрывать mp3 файлы вместо wavs, которые требуются большинству альтернатив. Я на самом деле получил его совершенно оригинально, пока не попытался добавить другие несвязанные функции, и теперь он говорит:

File "main.py", line 66, in playCurrentSong
mixer.load(path.join(museDir, currentSong))
pygame.error: Error reading the stream. (code 18)

(museDir - моя переменная для каталога, в котором находятся файлы musi c, и mixer - это моя переменная для pygame.mixer.music в качестве сокращения)

Я не могу понять всю жизнь, почему она дает мне эту ошибку сейчас, так как раньше она прекрасно воспроизводила звук. Мой код здесь: https://pastebin.com/V7nAfmK6

Если решение работает только на определенной операционной системе, моя последняя ОС будет Linux на Rasperry Pi, но я пытаюсь написать и протестировать код на Windows. Однако, если это невозможно, я понимаю.

Заранее спасибо за любую помощь; это вызывает у меня головную боль.

1 Ответ

0 голосов
/ 03 мая 2020

Я только что нашел источник проблемы.

До появления ошибки я пытался возиться с метаданными mp3-файлов, чтобы включить систему жанров в проигрыватель, но ничего не получалось. В конце концов я решил использовать для этого файлы CSV.

Я, должно быть, сделал что-то не так, когда возился с этими метаданными, потому что я смотрел mp3-файлы в File Explorer, и все они были 0 байтами. Вот почему Pygame не может прочитать поток: не было ни одного! Я снова подключил Pygame, заменил mp3 на новые, и теперь все работает отлично.

Спасибо за помощь, Торксед!

...