所以我正在尝试在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'
答案 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 )