diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt index 6477fa1f..954c71ce 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt @@ -446,7 +446,7 @@ class VideoDetailFragment() : MainFragment() { val viewDetail = _viewDetail; Logger.i(TAG, "onUserLeaveHint preventPictureInPicture=${viewDetail?.preventPictureInPicture} isCasting=${StateCasting.instance.isCasting} isBackgroundPictureInPicture=${Settings.instance.playback.isBackgroundPictureInPicture()} allowBackground=${viewDetail?.allowBackground}"); - if(viewDetail?.preventPictureInPicture == false && !StateCasting.instance.isCasting && Settings.instance.playback.isBackgroundPictureInPicture() && !viewDetail.allowBackground) { + if(viewDetail?.preventPictureInPicture == false && !StateCasting.instance.isCasting && Settings.instance.playback.isBackgroundPictureInPicture() && !viewDetail.allowBackground && !viewDetail.audioOnly) { _leavingPiP = false; val params = _viewDetail?.getPictureInPictureParams(); diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt index 7af5c541..cec74c94 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt @@ -194,6 +194,8 @@ class VideoDetailView : ConstraintLayout { val currentUrl get() = video?.url ?: _searchVideo?.url ?: _url; + val audioOnly get() = _lastVideoSource == null; + private var _liveChat: LiveChatManager? = null; private var _videoResumePositionMilliseconds : Long = 0L; @@ -1084,13 +1086,13 @@ class VideoDetailView : ConstraintLayout { if(StateCasting.instance.isCasting) return; - if(allowBackground) - StatePlayer.instance.startOrUpdateMediaSession(context, video); - else { + if (allowBackground) { + StatePlayer.instance.startOrUpdateMediaSession(context, video) + } else { when (Settings.instance.playback.backgroundPlay) { 0 -> handlePause(); 1 -> { - if (video?.isLive != true && Settings.instance.playback.backgroundSwitchToAudio && _lastVideoSource !== null) { + if (video?.isLive != true && Settings.instance.playback.backgroundSwitchToAudio && audioOnly) { _player.switchToAudioMode() } StatePlayer.instance.startOrUpdateMediaSession(context, video);