Загрузка и воспроизведение музыки в Python - PullRequest
1 голос
/ 16 апреля 2019

Итак, я пытаюсь воспроизводить музыку в Pygame, и до сих пор я могу успешно загружать и воспроизводить музыку в программе, но я могу делать это без переменных, и я не уверен, как это сделать с задействованными переменными.

Я уже пытался сохранить их внутри переменной и воспроизводить их из переменной.

Menumusic = pygame.mixer.music.load("MainMenu.mp3")
Menumusic.play(-1, 0.0)

Я ожидаю, что музыка будет играть, но вместо этого я получаю это в качестве вывода:

Menumusic.play(-1, 0.0)
AttributeError: 'NoneType' object has no attribute 'play'

Ответы [ 3 ]

0 голосов
/ 16 апреля 2019

Не очень понятно, что вы подразумеваете под игрой с переменной , но мне кажется, что вы хотите изменить то, что играет музыка.Вы не можете обойтись без переменной Menumusic, поскольку она содержит все функции, необходимые для воспроизведения музыки.

myvariablemp3 = "MainMenu.mp3"   # Change this to some way of varying the filename 
Menumusic = pygame.mixer.music.load(myvariablemp3)
Menumusic.play(-1, 0.0)
0 голосов
/ 17 апреля 2019

Как правило, чтобы сохранить звук в переменной, код должен использовать pygame.mixer.Sound() для загрузки файла.

Например:

drum_beat = pygame.mixer.Sound("bass_drum.wav")

Позже в коде,предварительно загруженный звук можно воспроизвести, передав результат из этого вызова .Sound(...) (в данном случае drum_beat) в pygame.mixer.Sound.play().

drum_beat = pygame.mixer.Sound("bass_drum.wav")
...
pygame.mixer.Sound.play( drum_beat )
0 голосов
/ 16 апреля 2019

Согласно документации, вы должны вызвать pygame.mixer.music.play (), чтобы начать воспроизведение загруженного музыкального потока.

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