From fcb13d3fc60cc4a36cd9eabe822fd5b8e0ce36d6 Mon Sep 17 00:00:00 2001 From: Jarne Demeulemeester Date: Mon, 4 Mar 2024 21:32:12 +0100 Subject: [PATCH] fix(mpv): request audio focus Closes #536 --- .../main/java/dev/jdtech/jellyfin/mpv/MPVPlayer.kt | 12 +++++++++++- .../jellyfin/viewmodels/PlayerActivityViewModel.kt | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/player/video/src/main/java/dev/jdtech/jellyfin/mpv/MPVPlayer.kt b/player/video/src/main/java/dev/jdtech/jellyfin/mpv/MPVPlayer.kt index 5d556183..d7004fe6 100644 --- a/player/video/src/main/java/dev/jdtech/jellyfin/mpv/MPVPlayer.kt +++ b/player/video/src/main/java/dev/jdtech/jellyfin/mpv/MPVPlayer.kt @@ -755,7 +755,17 @@ class MPVPlayer( playWhenReadyChangeReason = Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST, ) if (isPlayerReady) { - MPVLib.setPropertyBoolean("pause", !playWhenReady) + // Request audio focus when starting playback + if (requestAudioFocus && playWhenReady) { + val res = audioManager.requestAudioFocus(audioFocusRequest) + if (res != AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { + MPVLib.setPropertyBoolean("pause", true) + } else { + MPVLib.setPropertyBoolean("pause", false) + } + } else { + MPVLib.setPropertyBoolean("pause", !playWhenReady) + } } } } diff --git a/player/video/src/main/java/dev/jdtech/jellyfin/viewmodels/PlayerActivityViewModel.kt b/player/video/src/main/java/dev/jdtech/jellyfin/viewmodels/PlayerActivityViewModel.kt index 01ffab3b..14931779 100644 --- a/player/video/src/main/java/dev/jdtech/jellyfin/viewmodels/PlayerActivityViewModel.kt +++ b/player/video/src/main/java/dev/jdtech/jellyfin/viewmodels/PlayerActivityViewModel.kt @@ -97,7 +97,7 @@ constructor( .build() player = MPVPlayer( context = application, - requestAudioFocus = false, + requestAudioFocus = true, trackSelectionParameters = trackSelectionParameters, seekBackIncrement = appPreferences.playerSeekBackIncrement, seekForwardIncrement = appPreferences.playerSeekForwardIncrement,