From d3b31e595a323208972f9422bf458b792da8c185 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Tue, 21 Nov 2017 20:14:57 +1100 Subject: Handle no audio, more docs in code, fix for playing getter --- src/js/listeners.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/js/listeners.js') 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') { -- cgit v1.2.3