Made audio-focus calls respect mute state.

This commit is contained in:
J-Stutzmann 2023-07-31 06:09:07 -04:00
parent bc4f0c699f
commit c06d61a83c
1 changed files with 9 additions and 2 deletions

View File

@ -1082,7 +1082,7 @@ public final class Player implements PlaybackListener, Listener {
UIs.call(PlayerUi::onPrepared); UIs.call(PlayerUi::onPrepared);
if (playWhenReady) { if (playWhenReady && !isMuted()) {
audioReactor.requestAudioFocus(); audioReactor.requestAudioFocus();
} }
} }
@ -1223,6 +1223,11 @@ public final class Player implements PlaybackListener, Listener {
public void toggleMute() { public void toggleMute() {
final boolean wasMuted = isMuted(); final boolean wasMuted = isMuted();
simpleExoPlayer.setVolume(wasMuted ? 1 : 0); simpleExoPlayer.setVolume(wasMuted ? 1 : 0);
if (wasMuted) {
audioReactor.requestAudioFocus();
} else {
audioReactor.abandonAudioFocus();
}
UIs.call(playerUi -> playerUi.onMuteUnmuteChanged(!wasMuted)); UIs.call(playerUi -> playerUi.onMuteUnmuteChanged(!wasMuted));
notifyPlaybackUpdateToListeners(); notifyPlaybackUpdateToListeners();
} }
@ -1620,7 +1625,9 @@ public final class Player implements PlaybackListener, Listener {
return; return;
} }
audioReactor.requestAudioFocus(); if (!isMuted()) {
audioReactor.requestAudioFocus();
}
if (currentState == STATE_COMPLETED) { if (currentState == STATE_COMPLETED) {
if (playQueue.getIndex() == 0) { if (playQueue.getIndex() == 0) {