Примечание не работает в Android 5.x.Я знаю, что это старый пост, но я также столкнулся с этой проблемой.Ответ zenopython будет работать с некоторыми изменениями, поскольку в модуле микшера есть ошибка.Если вы загляните в модуль anroid.mixer и посмотрите на класс музыки, вы увидите.
@staticmethod
def get_busy():
return music_channel.get_volume()
, поскольку вы можете видеть, что на самом деле это вызывает get_volume (), который всегда возвращает 1.0.Чтобы это исправить, я скопировал файл mixer.py в каталог с игрой и изменил его на
@staticmethod
def get_busy():
return music_channel.get_busy()
Затем imoport mixer, и он работает.ТАК что-то вроде
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()