diff options
author | Sam Potts <me@sampotts.me> | 2017-11-05 18:40:41 +1100 |
---|---|---|
committer | Sam Potts <me@sampotts.me> | 2017-11-05 18:40:41 +1100 |
commit | 60084a17f8de59fac9452d79dda13b124a12f2b2 (patch) | |
tree | 462805d053ec6568da26212a5ed95253a05fa758 /src/js/plugins/youtube.js | |
parent | 4d417d039698b8b3e08350bf2d7bc5483ac4e76f (diff) | |
download | plyr-60084a17f8de59fac9452d79dda13b124a12f2b2.tar.lz plyr-60084a17f8de59fac9452d79dda13b124a12f2b2.tar.xz plyr-60084a17f8de59fac9452d79dda13b124a12f2b2.zip |
YouTube volume fix
Diffstat (limited to 'src/js/plugins/youtube.js')
-rw-r--r-- | src/js/plugins/youtube.js | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/js/plugins/youtube.js b/src/js/plugins/youtube.js index 12e9d3e6..38f649a5 100644 --- a/src/js/plugins/youtube.js +++ b/src/js/plugins/youtube.js @@ -145,12 +145,26 @@ const youtube = { }); // Volume + let volume = instance.getVolume() / 100; Object.defineProperty(player.media, 'volume', { get() { - return instance.getVolume() / 100; + return volume; }, set(input) { - instance.setVolume(input * 100); + volume = input; + instance.setVolume(volume * 100); + utils.dispatchEvent.call(player, player.media, 'volumechange'); + }, + }); + + // Muted + Object.defineProperty(player.media, 'muted', { + get() { + return instance.isMuted(); + }, + set(input) { + const toggle = utils.is.boolean(input) ? input : false; + instance[toggle ? 'mute' : 'unMute'](); utils.dispatchEvent.call(player, player.media, 'volumechange'); }, }); @@ -175,9 +189,6 @@ const youtube = { player.media.setAttribute('tabindex', -1); } - // Rebuild UI - window.setTimeout(() => ui.build.call(player), 0); - utils.dispatchEvent.call(player, player.media, 'timeupdate'); utils.dispatchEvent.call(player, player.media, 'durationchange'); @@ -205,6 +216,9 @@ const youtube = { utils.dispatchEvent.call(player, player.media, 'canplaythrough'); } }, 200); + + // Rebuild UI + window.setTimeout(() => ui.build.call(player), 50); }, onStateChange(event) { // Get the instance |