diff --git a/dashboard-ui/bower_components/emby-webcomponents/htmlaudioplayer/plugin.js b/dashboard-ui/bower_components/emby-webcomponents/htmlaudioplayer/plugin.js index d9ce518470..e76aba0171 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/htmlaudioplayer/plugin.js +++ b/dashboard-ui/bower_components/emby-webcomponents/htmlaudioplayer/plugin.js @@ -1,4 +1,4 @@ -define(['events', 'browser', 'pluginManager', 'apphost'], function (events, browser, pluginManager, appHost) { +define(['events', 'browser', 'pluginManager', 'apphost', 'appSettings'], function (events, browser, pluginManager, appHost, appSettings) { "use strict"; return function () { @@ -15,6 +15,16 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow var mediaElement; var currentSrc; + function getSavedVolume() { + return appSettings.get("volume") || 1; + } + + function saveVolume(value) { + if (value) { + appSettings.set("volume", value); + } + } + self.canPlayMediaType = function (mediaType) { return (mediaType || '').toLowerCase() === 'audio'; @@ -263,6 +273,7 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow function onVolumeChange() { if (!fadeTimeout) { + saveVolume(this.volume); events.trigger(self, 'volumechange'); } } @@ -318,6 +329,8 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow document.body.appendChild(elem); + elem.volume = getSavedVolume(); + elem.addEventListener('timeupdate', onTimeUpdate); elem.addEventListener('ended', onEnded); elem.addEventListener('volumechange', onVolumeChange); diff --git a/dashboard-ui/bower_components/emby-webcomponents/htmlvideoplayer/plugin.js b/dashboard-ui/bower_components/emby-webcomponents/htmlvideoplayer/plugin.js index 81aae3d33e..09bffcac7b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/htmlvideoplayer/plugin.js +++ b/dashboard-ui/bower_components/emby-webcomponents/htmlvideoplayer/plugin.js @@ -1,4 +1,4 @@ -define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackManager', 'embyRouter'], function (browser, pluginManager, events, appHost, loading, playbackManager, embyRouter) { +define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackManager', 'embyRouter', 'appSettings'], function (browser, pluginManager, events, appHost, loading, playbackManager, embyRouter, appSettings) { "use strict"; return function () { @@ -31,6 +31,16 @@ define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackMan return (mediaType || '').toLowerCase() === 'video'; }; + function getSavedVolume() { + return appSettings.get("volume") || 1; + } + + function saveVolume(value) { + if (value) { + appSettings.set("volume", value); + } + } + function getBaseProfileOptions(item) { var disableHlsVideoAudioCodecs = []; @@ -446,39 +456,38 @@ define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackMan return false; }; - self.volume = function (val) { + self.setVolume = function (val) { if (mediaElement) { - if (val != null) { - mediaElement.volume = val / 100; - return; - } + mediaElement.volume = val / 100; + } + }; + self.getVolume = function () { + if (mediaElement) { return mediaElement.volume * 100; } }; self.volumeUp = function () { - self.volume(Math.min(self.volume() + 2, 100)); + self.setVolume(Math.min(self.getVolume() + 2, 100)); }; self.volumeDown = function () { - self.volume(Math.max(self.volume() - 2, 0)); + self.setVolume(Math.max(self.getVolume() - 2, 0)); }; self.setMute = function (mute) { - if (mute) { - self.volume(0); - } else { - - if (self.isMuted()) { - self.volume(50); - } + if (mediaElement) { + mediaElement.muted = mute; } }; self.isMuted = function () { - return self.volume() === 0; + if (mediaElement) { + return mediaElement.muted; + } + return false; }; function onEnded() { @@ -523,6 +532,7 @@ define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackMan function onVolumeChange() { + saveVolume(this.volume); events.trigger(self, 'volumechange'); } @@ -1066,6 +1076,7 @@ define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackMan dlg.innerHTML = html; var videoElement = dlg.querySelector('video'); + videoElement.volume = getSavedVolume(); videoElement.addEventListener('timeupdate', onTimeUpdate); videoElement.addEventListener('ended', onEnded); videoElement.addEventListener('volumechange', onVolumeChange);