diff --git a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java index 0d6934f15c..27a3478ecc 100644 --- a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java +++ b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java @@ -1172,12 +1172,16 @@ private OnAudioFocusChangedListener(ReactExoplayerView view, ThemedReactContext @Override public void onAudioFocusChange(int focusChange) { + Activity activity = themedReactContext.getCurrentActivity(); + switch (focusChange) { case AudioManager.AUDIOFOCUS_LOSS: view.hasAudioFocus = false; view.eventEmitter.audioFocusChanged(false); // FIXME this pause can cause issue if content doesn't have pause capability (can happen on live channel) - view.pausePlayback(); + if (activity != null) { + activity.runOnUiThread(view::pausePlayback); + } view.audioManager.abandonAudioFocus(this); break; case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT: @@ -1191,7 +1195,6 @@ public void onAudioFocusChange(int focusChange) { break; } - Activity activity = themedReactContext.getCurrentActivity(); if (view.player != null && activity != null) { if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) { // Lower the volume