Fix setting initial speed (fixes #1408)
This commit is contained in:
parent
d9b7928ce6
commit
e9367ee85e
@ -678,7 +678,9 @@ class Plyr {
|
|||||||
this.config.speed.selected = speed;
|
this.config.speed.selected = speed;
|
||||||
|
|
||||||
// Set media speed
|
// Set media speed
|
||||||
this.media.playbackRate = speed;
|
setTimeout(() => {
|
||||||
|
this.media.playbackRate = speed;
|
||||||
|
}, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
27
src/js/ui.js
27
src/js/ui.js
@ -67,15 +67,15 @@ const ui = {
|
|||||||
// Reset mute state
|
// Reset mute state
|
||||||
this.muted = null;
|
this.muted = null;
|
||||||
|
|
||||||
// Reset speed
|
|
||||||
this.speed = null;
|
|
||||||
|
|
||||||
// Reset loop state
|
// Reset loop state
|
||||||
this.loop = null;
|
this.loop = null;
|
||||||
|
|
||||||
// Reset quality setting
|
// Reset quality setting
|
||||||
this.quality = null;
|
this.quality = null;
|
||||||
|
|
||||||
|
// Reset speed
|
||||||
|
this.speed = null;
|
||||||
|
|
||||||
// Reset volume display
|
// Reset volume display
|
||||||
controls.updateVolume.call(this);
|
controls.updateVolume.call(this);
|
||||||
|
|
||||||
@ -233,13 +233,16 @@ const ui = {
|
|||||||
clearTimeout(this.timers.loading);
|
clearTimeout(this.timers.loading);
|
||||||
|
|
||||||
// Timer to prevent flicker when seeking
|
// Timer to prevent flicker when seeking
|
||||||
this.timers.loading = setTimeout(() => {
|
this.timers.loading = setTimeout(
|
||||||
// Update progress bar loading class state
|
() => {
|
||||||
toggleClass(this.elements.container, this.config.classNames.loading, this.loading);
|
// Update progress bar loading class state
|
||||||
|
toggleClass(this.elements.container, this.config.classNames.loading, this.loading);
|
||||||
|
|
||||||
// Update controls visibility
|
// Update controls visibility
|
||||||
ui.toggleControls.call(this);
|
ui.toggleControls.call(this);
|
||||||
}, this.loading ? 250 : 0);
|
},
|
||||||
|
this.loading ? 250 : 0,
|
||||||
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
// Toggle controls based on state and `force` argument
|
// Toggle controls based on state and `force` argument
|
||||||
@ -248,10 +251,12 @@ const ui = {
|
|||||||
|
|
||||||
if (controls && this.config.hideControls) {
|
if (controls && this.config.hideControls) {
|
||||||
// Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.)
|
// Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.)
|
||||||
const recentTouchSeek = (this.touch && this.lastSeekTime + 2000 > Date.now());
|
const recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now();
|
||||||
|
|
||||||
// Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide
|
// Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide
|
||||||
this.toggleControls(Boolean(force || this.loading || this.paused || controls.pressed || controls.hover || recentTouchSeek));
|
this.toggleControls(
|
||||||
|
Boolean(force || this.loading || this.paused || controls.pressed || controls.hover || recentTouchSeek),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user