注意在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()