mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update volume
This commit is contained in:
parent
1b885abcb2
commit
bd391e3625
2 changed files with 41 additions and 17 deletions
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue