Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓停止音频时,手机锁定后播放约10-20分钟_Android_Exoplayer - Fatal编程技术网

Android 安卓停止音频时,手机锁定后播放约10-20分钟

Android 安卓停止音频时,手机锁定后播放约10-20分钟,android,exoplayer,Android,Exoplayer,我有一个应用程序收音机,它使用exoplayer 几乎很好的工作,但当电话在后台广播播放约10-20分钟,并停止和我打开电话广播继续播放。我如何通过编程修复它? Mediaplayer有一个类似setWakeMode()的方法,但我发现Exoplayer没有类似的方法。对不起,我的英语我遇到了与exoPlayer相同的问题,当手机屏幕锁定AudioTrack几分钟后关机时,因此您可以在代码中添加WakeLock或WifiLock以保持exoPlayer在后台运行,即使手机屏幕被锁定 if (in

我有一个应用程序收音机,它使用exoplayer 几乎很好的工作,但当电话在后台广播播放约10-20分钟,并停止和我打开电话广播继续播放。我如何通过编程修复它?
Mediaplayer有一个类似setWakeMode()的方法,但我发现Exoplayer没有类似的方法。对不起,我的英语

我遇到了与exoPlayer相同的问题,当手机屏幕锁定AudioTrack几分钟后关机时,因此您可以在代码中添加WakeLock或WifiLock以保持exoPlayer在后台运行,即使手机屏幕被锁定

if (intent.getAction().equals(ACTION_PLAY)) {

    mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

    if (mAudioManager.requestAudioFocus(this,
                        AudioManager.STREAM_MUSIC,
                        AudioManager.AUDIOFOCUS_GAIN) == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {

        wifiLock = ((WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE)).createWifiLock(WifiManager.WIFI_MODE_FULL, "wifiLock");
        wifiLock.acquire();

        if(exoPlayer == null){
            //Your code Exoplayer her
        }
    } else if (action.equalsIgnoreCase(ACTION_STOP)) { 
        if (exoPlayer != null) {
            exoPlayer.stop();
        }
        if (wifiLock != null && wifiLock.isHeld()) {
            wifiLock.release();
        } 
   }
}

在后台时,据我所知,要继续使用媒体,您需要前台服务。