Delay all rate changes until the player unpauses
This commit is contained in:
parent
3e0f084c62
commit
fe7766add4
@ -96,6 +96,7 @@ public class ReactVideoView extends ScalableVideoView implements MediaPlayer.OnP
|
|||||||
private float mVolume = 1.0f;
|
private float mVolume = 1.0f;
|
||||||
private float mProgressUpdateInterval = 250.0f;
|
private float mProgressUpdateInterval = 250.0f;
|
||||||
private float mRate = 1.0f;
|
private float mRate = 1.0f;
|
||||||
|
private float mActiveRate = 1.0f;
|
||||||
private boolean mPlayInBackground = false;
|
private boolean mPlayInBackground = false;
|
||||||
private boolean mActiveStatePauseStatus = false;
|
private boolean mActiveStatePauseStatus = false;
|
||||||
private boolean mActiveStatePauseStatusInitialized = false;
|
private boolean mActiveStatePauseStatusInitialized = false;
|
||||||
@ -344,6 +345,10 @@ public class ReactVideoView extends ScalableVideoView implements MediaPlayer.OnP
|
|||||||
} else {
|
} else {
|
||||||
if (!mMediaPlayer.isPlaying()) {
|
if (!mMediaPlayer.isPlaying()) {
|
||||||
start();
|
start();
|
||||||
|
// Setting the rate unpauses, so we have to wait for an unpause
|
||||||
|
if (mRate != mActiveRate) {
|
||||||
|
setRateModifier(mRate);
|
||||||
|
}
|
||||||
|
|
||||||
// Also Start the Progress Update Handler
|
// Also Start the Progress Update Handler
|
||||||
mProgressUpdateHandler.post(mProgressUpdateRunnable);
|
mProgressUpdateHandler.post(mProgressUpdateRunnable);
|
||||||
@ -379,7 +384,10 @@ public class ReactVideoView extends ScalableVideoView implements MediaPlayer.OnP
|
|||||||
|
|
||||||
if (mMediaPlayerValid) {
|
if (mMediaPlayerValid) {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
if (!mPaused) { // Applying the rate while paused will cause the video to start
|
||||||
mMediaPlayer.setPlaybackParams(mMediaPlayer.getPlaybackParams().setSpeed(rate));
|
mMediaPlayer.setPlaybackParams(mMediaPlayer.getPlaybackParams().setSpeed(rate));
|
||||||
|
mActiveRate = rate;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
Log.e(ReactVideoViewManager.REACT_CLASS, "Setting playback rate is not yet supported on Android versions below 6.0");
|
Log.e(ReactVideoViewManager.REACT_CLASS, "Setting playback rate is not yet supported on Android versions below 6.0");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user