Почему мой микшер PyGame не воспроизводит звуки?

Мой микшер PyGame в 2.7 не будет работать с опцией звука. Я могу заставить его работать с mixer.music, но не с mixer.sound, с mixer.sound он издает небольшой тикающий шум и затем останавливается. Код:

import pygame
pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=4096)
song = pygame.mixer.Sound("song.mp3")
pygame.mixer.Sound.play(song)

Нет ошибок, он просто не играет и издает небольшой тикающий шум. На windows 7-x64 кстати.

4 ответа

Решение

Обычно Pygame не воспроизводит mp3-файлы. Вы можете проверить, будут ли файлы.wav и.ogg воспроизводиться первыми, чтобы убедиться, что ваш код правильный (в зависимости от того, что вы вставили, кажется, это правильно). Я предлагаю преобразовать ваши звуки mp3 в OGG для Pygame.

Вы только что создали объект под названием песня.

вместо "pygame.mixer.Sound.play(song)" попробуйте это:

song.play ()

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

import pygame
pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=4096)
pygame.mixer.music.load("song.mp3")
pygame.mixer.music.play()

Pygame воспроизводит mp3 файлы. У меня была такая же проблема, но я нашел решение:

если вы сохранили свой mp3-файл как "filename.mp3" и сами записали расширение.mp3, то имя файла в функции pygame.mixer.music.load() pygame должно быть записано как "filename.mp3.mp3", потому что python ожидает, что вы добавите.mp3. Иногда.mp3 уже включен в имя файла, если вы сохранили его как таковой.

Поэтому попробуйте это: pygame.mixer.music.load('filename.mp3.mp3')

Другие вопросы по тегам