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

34
dist/plyr.js vendored
View File

@ -2768,7 +2768,6 @@ var ui = {
// Plyr controls // Plyr controls
// ========================================================================== // ==========================================================================
// Sniff out the browser
var browser$2 = utils.getBrowser(); var browser$2 = utils.getBrowser();
var controls = { var controls = {
@ -4235,7 +4234,7 @@ var Listeners = function () {
}); });
// Handle native play/pause // Handle native play/pause
utils.on(this.player.media, 'playing play pause ended', function (event) { utils.on(this.player.media, 'playing play pause ended emptied', function (event) {
return ui.checkPlaying.call(_this3.player, event); return ui.checkPlaying.call(_this3.player, event);
}); });
@ -5655,6 +5654,8 @@ var youtube = {
// Reset timer // Reset timer
clearInterval(player.timers.playing); clearInterval(player.timers.playing);
console.warn(event.data);
// Handle events // Handle events
// -1 Unstarted // -1 Unstarted
// 0 Ended // 0 Ended
@ -5663,6 +5664,16 @@ var youtube = {
// 3 Buffering // 3 Buffering
// 5 Video cued // 5 Video cued
switch (event.data) { 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: case 0:
player.media.paused = true; player.media.paused = true;
@ -5832,10 +5843,8 @@ var vimeo = {
}; };
player.media.stop = function () { player.media.stop = function () {
player.embed.stop().then(function () { player.pause();
player.media.paused = true; player.currentTime = 0;
player.currentTime = 0;
});
}; };
// Seeking // Seeking
@ -6303,12 +6312,6 @@ var source = {
// License: The MIT License (MIT) // License: The MIT License (MIT)
// ========================================================================== // ==========================================================================
// Private properties
// TODO: Use a WeakMap for private globals
// const globals = new WeakMap();
// Plyr instance
var Plyr = function () { var Plyr = function () {
function Plyr(target, options) { function Plyr(target, options) {
var _this = this; var _this = this;
@ -6643,8 +6646,11 @@ var Plyr = function () {
}, { }, {
key: 'stop', key: 'stop',
value: function stop() { value: function stop() {
this.restart(); if (this.isHTML5) {
this.pause(); this.media.load();
} else {
this.media.stop();
}
} }
/** /**

2
dist/plyr.js.map vendored

File diff suppressed because one or more lines are too long

2
dist/plyr.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8666,7 +8666,6 @@ var ui = {
// Plyr controls // Plyr controls
// ========================================================================== // ==========================================================================
// Sniff out the browser
var browser$2 = utils.getBrowser(); var browser$2 = utils.getBrowser();
var controls = { var controls = {
@ -10133,7 +10132,7 @@ var Listeners = function () {
}); });
// Handle native play/pause // Handle native play/pause
utils.on(this.player.media, 'playing play pause ended', function (event) { utils.on(this.player.media, 'playing play pause ended emptied', function (event) {
return ui.checkPlaying.call(_this3.player, event); return ui.checkPlaying.call(_this3.player, event);
}); });
@ -11553,6 +11552,8 @@ var youtube = {
// Reset timer // Reset timer
clearInterval(player.timers.playing); clearInterval(player.timers.playing);
console.warn(event.data);
// Handle events // Handle events
// -1 Unstarted // -1 Unstarted
// 0 Ended // 0 Ended
@ -11561,6 +11562,16 @@ var youtube = {
// 3 Buffering // 3 Buffering
// 5 Video cued // 5 Video cued
switch (event.data) { 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: case 0:
player.media.paused = true; player.media.paused = true;
@ -11730,10 +11741,8 @@ var vimeo = {
}; };
player.media.stop = function () { player.media.stop = function () {
player.embed.stop().then(function () { player.pause();
player.media.paused = true; player.currentTime = 0;
player.currentTime = 0;
});
}; };
// Seeking // Seeking
@ -12201,12 +12210,6 @@ var source = {
// License: The MIT License (MIT) // License: The MIT License (MIT)
// ========================================================================== // ==========================================================================
// Private properties
// TODO: Use a WeakMap for private globals
// const globals = new WeakMap();
// Plyr instance
var Plyr$1 = function () { var Plyr$1 = function () {
function Plyr(target, options) { function Plyr(target, options) {
var _this = this; var _this = this;
@ -12541,8 +12544,11 @@ var Plyr$1 = function () {
}, { }, {
key: 'stop', key: 'stop',
value: function stop() { value: function stop() {
this.restart(); if (this.isHTML5) {
this.pause(); this.media.load();
} else {
this.media.stop();
}
} }
/** /**

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -267,7 +267,7 @@ class Listeners {
utils.on(this.player.media, 'volumechange', event => ui.updateVolume.call(this.player, event)); utils.on(this.player.media, 'volumechange', event => ui.updateVolume.call(this.player, event));
// Handle native play/pause // 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 // Loading
utils.on(this.player.media, 'waiting canplay seeked playing', event => ui.checkLoading.call(this.player, event)); 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.media.stop = () => {
player.embed.stop().then(() => { player.pause();
player.media.paused = true; player.currentTime = 0;
player.currentTime = 0;
});
}; };
// Seeking // Seeking

View File

@ -339,6 +339,8 @@ const youtube = {
// Reset timer // Reset timer
clearInterval(player.timers.playing); clearInterval(player.timers.playing);
console.warn(event.data);
// Handle events // Handle events
// -1 Unstarted // -1 Unstarted
// 0 Ended // 0 Ended
@ -347,6 +349,16 @@ const youtube = {
// 3 Buffering // 3 Buffering
// 5 Video cued // 5 Video cued
switch (event.data) { 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: case 0:
player.media.paused = true; player.media.paused = true;

View File

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