Kivy - Android 后台服务不播放音频
Kivy - Android background service doesn't play audio
我正在尝试从后台服务播放音频文件,但它无法播放。日志说它会持续一段时间然后停止,但听不到音频。
应用暂停时调用服务:
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
我认为主要问题是,MediaPlayer 不喜欢我每秒都请求 getCurrentPosition()。还将 :sticky
添加到我的 buildozer services = service:service.py 似乎可以解决问题。
遵循 个步骤也有帮助。
我正在尝试从后台服务播放音频文件,但它无法播放。日志说它会持续一段时间然后停止,但听不到音频。
应用暂停时调用服务:
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
我认为主要问题是,MediaPlayer 不喜欢我每秒都请求 getCurrentPosition()。还将 :sticky
添加到我的 buildozer services = service:service.py 似乎可以解决问题。
遵循