diff options
Diffstat (limited to 'src/js/plyr.js')
-rw-r--r-- | src/js/plyr.js | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/js/plyr.js b/src/js/plyr.js index ca56b709..8733d4a2 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -280,6 +280,10 @@ class Plyr { return this; } + get paused() { + return this.media.paused; + } + /** * Toggle playback based on current status * @param {boolean} toggle @@ -355,6 +359,10 @@ class Plyr { return Number(this.media.currentTime); } + get seeking() { + return this.media.seeking; + } + /** * Get the duration of the current media */ @@ -407,8 +415,10 @@ class Plyr { // Set the player volume this.media.volume = volume; - // Toggle muted state - this.muted = volume === 0; + // If muted, and we're increasing volume, reset muted state + if (this.muted && volume > 0) { + this.muted = false; + } } /** @@ -434,11 +444,17 @@ class Plyr { // Toggle mute set muted(mute) { - // If the method is called without parameter, toggle based on current value - const toggle = utils.is.boolean(mute) ? mute : this.config.muted; + let toggle = mute; - // Set button state - utils.toggleState(this.elements.buttons.mute, toggle); + // Load muted state from storage + if (!utils.is.boolean(toggle)) { + toggle = storage.get.call(this).muted; + } + + // Use config if all else fails + if (!utils.is.boolean(toggle)) { + toggle = this.config.muted; + } // Update config this.config.muted = toggle; |