我做了一個基本的電臺播放器,這使得它玩低於和完美的作品除了setWakeMode方法的代碼。當我將手機置於待機狀態時,音頻將播放長達2分鐘,然後開始停止並開始播放。有任何想法嗎?Android的MediaPlayer的激活鎖定不工作
N.B. radioPlayer是MediaPlayer的一個實例。
public boolean startRadio()
{
try
{
String url = getString(R.string.radioURL); // Radio url.
radioPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
radioPlayer.setDataSource(url);
radioPlayer.prepare(); // might take long! (for buffering, etc)
radioPlayer.setWakeMode(this.getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
radioPlayer.start();
return true;
}
catch(Exception e)
{
showAlert(getString(R.string.error), getString(R.string.radioError));
radioPlayer.release();
radioPlayer = new MediaPlayer();
return false;
}
}
更新:其他地方審查另一個線程後,我發現,這個問題似乎是唯一的HTC手機,其實,我的三星Galaxy Tab即使沒有喚醒鎖生存的。有任何想法嗎?
事情是,我希望人們在聽收音機用這個程序能夠把自己的手機在待機和走動它裝在口袋裏,如果他們願意的話,或者只是一般聽而不在屏幕上運行了他們因此迫使屏幕繼續工作並不是真正的選擇。 已經添加了WAKE_LOCK權限。感謝您的貢獻:) – apbarratt 2012-02-11 23:01:07
如果您只想讓mediaplayer繼續遊戲,keepScreenOn會將一個Rocketlauncher帶到刀鬥中。:) – REJH 2015-10-01 10:32:13