diff --git a/CHANGELOG.md b/CHANGELOG.md
index 01300f3e..5280d0ff 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,7 @@
* Re-add fullscreenAutorotate prop [#1303](https://github.com/react-native-community/react-native-video/pull/1303)
* Make seek throw a useful error for NaN values [#1283](https://github.com/react-native-community/react-native-video/pull/1283)
* Video Filters and Save Video [#1306](https://github.com/react-native-community/react-native-video/pull/1306)
+* Fix: volume should not change on onAudioFocusChange event [#1327](https://github.com/react-native-community/react-native-video/pull/1327)
### Version 3.2.0
* Basic fullscreen support for Android MediaPlayer [#1138](https://github.com/react-native-community/react-native-video/pull/1138)
diff --git a/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
index 3d141f3c..7d69368e 100644
--- a/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
+++ b/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
@@ -109,6 +109,7 @@ class ReactExoplayerView extends FrameLayout implements
private boolean isPaused;
private boolean isBuffering;
private float rate = 1f;
+ private float audioVolume = 1f;
private int minBufferMs = DefaultLoadControl.DEFAULT_MIN_BUFFER_MS;
private int maxBufferMs = DefaultLoadControl.DEFAULT_MAX_BUFFER_MS;
@@ -454,10 +455,10 @@ class ReactExoplayerView extends FrameLayout implements
if (player != null) {
if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) {
// Lower the volume
- player.setVolume(0.8f);
+ player.setVolume(audioVolume * 0.8f);
} else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
// Raise it back to normal
- player.setVolume(1);
+ player.setVolume(audioVolume * 1);
}
}
}
@@ -875,15 +876,17 @@ class ReactExoplayerView extends FrameLayout implements
}
public void setMutedModifier(boolean muted) {
+ audioVolume = muted ? 0.f : 1.f;
if (player != null) {
- player.setVolume(muted ? 0 : 1);
+ player.setVolume(audioVolume);
}
}
public void setVolumeModifier(float volume) {
+ audioVolume = volume;
if (player != null) {
- player.setVolume(volume);
+ player.setVolume(audioVolume);
}
}
diff --git a/examples/video-caching/ios/Podfile.lock b/examples/video-caching/ios/Podfile.lock
index 2689020a..941485aa 100644
--- a/examples/video-caching/ios/Podfile.lock
+++ b/examples/video-caching/ios/Podfile.lock
@@ -9,9 +9,9 @@ PODS:
- glog (0.3.4)
- React (0.56.0):
- React/Core (= 0.56.0)
- - react-native-video/Video (3.1.0):
+ - react-native-video/Video (3.2.2):
- React
- - react-native-video/VideoCaching (3.1.0):
+ - react-native-video/VideoCaching (3.2.2):
- DVAssetLoaderDelegate (~> 0.3.1)
- React
- react-native-video/Video
diff --git a/examples/video-caching/ios/VideoCaching/Info.plist b/examples/video-caching/ios/VideoCaching/Info.plist
index 171fecca..9ae00c5e 100644
--- a/examples/video-caching/ios/VideoCaching/Info.plist
+++ b/examples/video-caching/ios/VideoCaching/Info.plist
@@ -24,6 +24,21 @@
1
LSRequiresIPhoneOS
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+ NSExceptionDomains
+
+ localhost
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+
+
+ NSLocationWhenInUseUsageDescription
+
UILaunchStoryboardName
LaunchScreen
UIRequiredDeviceCapabilities
@@ -38,19 +53,5 @@
UIViewControllerBasedStatusBarAppearance
- NSLocationWhenInUseUsageDescription
-
- NSAppTransportSecurity
-
-
- NSExceptionDomains
-
- localhost
-
- NSExceptionAllowsInsecureHTTPLoads
-
-
-
-