aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/plugins/youtube.js
diff options
context:
space:
mode:
authorSam Potts <me@sampotts.me>2017-11-05 18:40:41 +1100
committerSam Potts <me@sampotts.me>2017-11-05 18:40:41 +1100
commit60084a17f8de59fac9452d79dda13b124a12f2b2 (patch)
tree462805d053ec6568da26212a5ed95253a05fa758 /src/js/plugins/youtube.js
parent4d417d039698b8b3e08350bf2d7bc5483ac4e76f (diff)
downloadplyr-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.js24
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