diff options
Diffstat (limited to 'src/js/listeners.js')
-rw-r--r-- | src/js/listeners.js | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/js/listeners.js b/src/js/listeners.js index 69b32814..46bce967 100644 --- a/src/js/listeners.js +++ b/src/js/listeners.js @@ -232,6 +232,13 @@ const listeners = { // Display duration utils.on(this.media, 'durationchange loadedmetadata', event => ui.durationUpdate.call(this, event)); + // Check for audio tracks on load + // We can't use `loadedmetadata` as it doesn't seem to have audio tracks at that point + utils.on(this.media, 'loadeddata', () => { + utils.toggleHidden(this.elements.volume, !this.hasAudio); + utils.toggleHidden(this.elements.buttons.mute, !this.hasAudio); + }); + // Handle the media finishing utils.on(this.media, 'ended', () => { // Show poster on end @@ -251,10 +258,10 @@ const listeners = { utils.on(this.media, 'volumechange', event => ui.updateVolume.call(this, event)); // Handle native play/pause - utils.on(this.media, 'play pause ended', event => ui.checkPlaying.call(this, event)); + utils.on(this.media, 'playing play pause ended', event => ui.checkPlaying.call(this, event)); // Loading - utils.on(this.media, 'waiting canplay seeked', event => ui.checkLoading.call(this, event)); + utils.on(this.media, 'stalled waiting canplay seeked playing', event => ui.checkLoading.call(this, event)); // Click video if (this.supported.ui && this.config.clickToPlay && this.type !== 'audio') { |