Android MediaPlayer WakeLock无法运行

apb*_*att 1 android media-player wakelock

我已经制作了一个基本的无线电播放器,使其播放的代码低于并且除了setWakeMode方法外,它的工作方式也很完美.当我将手机转为待机状态时,音频最长可播放2分钟,然后开始停止并开始播放.有任何想法吗?

NB 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:在审查了其他地方的另一个线程之后,我发现这个问题似乎是HTC手机独有的,事实上,即使没有唤醒锁,我的三星Galaxy Tab仍能存活.有任何想法吗?

Way*_*yne 5

您的MediaPlayer因为Wifi进入睡眠模式而停止,因此您应该尝试使用WifiLock来防止这种情况发生.