Fix for .stop() method (fixes #819)

This commit is contained in:
Sam Potts
2018-03-22 01:02:38 +11:00
parent 17041efc71
commit c251c94131
12 changed files with 66 additions and 41 deletions

View File

@ -267,7 +267,7 @@ class Listeners {
utils.on(this.player.media, 'volumechange', event => ui.updateVolume.call(this.player, event));
// Handle native play/pause
utils.on(this.player.media, 'playing play pause ended', event => ui.checkPlaying.call(this.player, event));
utils.on(this.player.media, 'playing play pause ended emptied', event => ui.checkPlaying.call(this.player, event));
// Loading
utils.on(this.player.media, 'waiting canplay seeked playing', event => ui.checkLoading.call(this.player, event));

View File

@ -101,10 +101,8 @@ const vimeo = {
};
player.media.stop = () => {
player.embed.stop().then(() => {
player.media.paused = true;
player.currentTime = 0;
});
player.pause();
player.currentTime = 0;
};
// Seeking

View File

@ -339,6 +339,8 @@ const youtube = {
// Reset timer
clearInterval(player.timers.playing);
console.warn(event.data);
// Handle events
// -1 Unstarted
// 0 Ended
@ -347,6 +349,16 @@ const youtube = {
// 3 Buffering
// 5 Video cued
switch (event.data) {
case -1:
// Update scrubber
utils.dispatchEvent.call(player, player.media, 'timeupdate');
// Get loaded % from YouTube
player.media.buffered = instance.getVideoLoadedFraction();
utils.dispatchEvent.call(player, player.media, 'progress');
break;
case 0:
player.media.paused = true;

View File

@ -379,8 +379,11 @@ class Plyr {
* Stop playback
*/
stop() {
this.restart();
this.pause();
if (this.isHTML5) {
this.media.load();
} else {
this.media.stop();
}
}
/**