2013-06-19 32 views
1

我有一個應用程序,播放從服務器(或本地)流式傳輸的音頻。Android MediaPlayer - 睡眠行爲

根據我們所見*,如果通過後臺服務播放音頻,音頻將繼續播放。但是,一些用戶報告說,他們的設備進入睡眠狀態時音頻將停止。我在睡覺時沒有看到有關音頻行爲的任何文檔,但絕對API文檔沒有提及任何內容:http://developer.android.com/reference/android/media/MediaPlayer.html。是否有任何保證MediaPlayer在睡眠時會繼續播放,如果沒有,我是否應該在播放時啓用WAKE_LOCK?

*(這個問題似乎支持:Playing music in sleep/standby mode in Android 2.3.3

回答

1

我不認爲在設置喚醒鎖會事,在我的經驗,它沒有任何關係保持服務活着。 Android Service文檔指出,不使用startForground()方法的服務可能會被終止以釋放內存。這很可能是服務要麼被殺死以釋放資源,要麼是異常導致它悄然崩潰。

1

如果你的應用進入後臺,它可以被操作系統殺死。這很可能發生了什麼。通過使用startForeground()使您的Service成爲前臺服務,可以大大降低發生這種情況的機率。喚醒鎖不會有幫助。在緊張的記憶力下,你的前臺服務可能會被殺死,但是在手機睡着時這種情況發生的可能性很小。