Kivy-Android后台服务无法播放音频

时间:2018-12-21 10:01:42

标签: android python kivy android-mediaplayer background-service

我正在尝试播放来自后台服务的音频文件,但是无法播放。日志说它会停一会儿,然后停止,但听不到声音。

应用程序暂停时会调用该服务:

from jnius import autoclass
service = autoclass('{}.Service{}'.format('kivyapp.music', 'S1'))
mActivity = autoclass('org.kivy.android.PythonActivity').mActivity
argument = ''
service.start(mActivity, argument)

/service/main.py

from jnius import autoclass
MediaPlayer = autoclass('android.media.MediaPlayer')
AudioManager = autoclass('android.media.AudioManager')

if __name__ == '__main__':
    nowPlaying = MediaPlayer()
    nowPlaying.setDataSource('music00.mp3')
    nowPlaying.prepare()
    nowPlaying.setLooping(False)
    nowPlaying.setVolume(0.5, 0.5)
    nowPlaying.start()

我想知道我做错了什么。谢谢。 Log.txt

1 个答案:

答案 0 :(得分:0)

我认为主要的问题是,MediaPlayer不喜欢我每秒请求getCurrentPosition()。还将:sticky添加到我的buildozer services = service:service.py似乎可以解决问题。

遵循these步骤也有帮助。