在python中加载和播放音乐

时间:2019-04-16 13:08:25

标签: python python-3.x pygame

所以我正在尝试在pygame上播放音乐,到目前为止,我可以成功加载并在程序上播放音乐,但是我可以在没有变量的情况下做到这一点,而且我不确定如何在涉及到变量的情况下做到这一点。 / p>

我已经尝试将它们存储在变量中并从变量中播放它们。

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 :(得分:0)

根据文档,您应该调用pygame.mixer.music.play()开始播放已加载的音乐流。

答案 1 :(得分:0)

通过变量播放 的含义不是很清楚,但在我看来,您想更改播放音乐的方式。您不能没有变量Menumusic,因为它包含播放音乐所需的所有功能。

myvariablemp3 = "MainMenu.mp3"   # Change this to some way of varying the filename 
Menumusic = pygame.mixer.music.load(myvariablemp3)
Menumusic.play(-1, 0.0)

答案 2 :(得分:0)

Generally to hold a sound in a variable, the code needs to use pygame.mixer.Sound() to load the file in.

For example:

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

Later on in the code, the pre-loaded sound can be played by passing the result from that .Sound(...) call (in this case drum_beat) to pygame.mixer.Sound.play().

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