注意在Android 5.x中不起作用。我知道这是一个旧帖子,但我有一个也遇到了这个问题。 zenopython的答案会在调音台模块出现错误时进行一些调整。如果你看看anroid.mixer模块,看看你会看到的音乐课程。
@staticmethod
def get_busy():
return music_channel.get_volume()
你可以看到这实际上调用了总是返回1.0的get_volume()。为了解决这个问题我复制了mixer.py文件到我的游戏目录,并把它改为
@staticmethod
def get_busy():
return music_channel.get_busy()
然后imoport混频器和它的作品。所以像
import pygame
try:
import pygame.mixer as mixer
except ImportError:
import mixer
if mixer:
mixer.music.load("woo.mp3")
mixer.music.play(-1)
while True:
if mixer:
if mixer.music.get_busy() == False:
mixer.music.play(-1)
这对我有效。
如上所述,这不适用于5.x.
另一种解决方案是简单地排队音乐这确实工作
mixer.music.load('music')
mixer.music.play()
mixer.music.queue('music')
一般的mixer.music模块中pgs4a有一些错误。我发现的另一个错误是在mixer.music.pause()和mixer.music.unpause()中。 unpause()只是再次调用pause(),所以我也必须编辑它以允许在游戏停止时暂停音乐。见下文
if android:
if android.check_pause():
mixer.music.pause()
android.wait_for_resume()
mixer.music.unpause()