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";
|
"use strict";
|
||||||
|
|
||||||
return function () {
|
return function () {
|
||||||
|
@ -15,6 +15,16 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow
|
||||||
var mediaElement;
|
var mediaElement;
|
||||||
var currentSrc;
|
var currentSrc;
|
||||||
|
|
||||||
|
function getSavedVolume() {
|
||||||
|
return appSettings.get("volume") || 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveVolume(value) {
|
||||||
|
if (value) {
|
||||||
|
appSettings.set("volume", value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
self.canPlayMediaType = function (mediaType) {
|
self.canPlayMediaType = function (mediaType) {
|
||||||
|
|
||||||
return (mediaType || '').toLowerCase() === 'audio';
|
return (mediaType || '').toLowerCase() === 'audio';
|
||||||
|
@ -263,6 +273,7 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow
|
||||||
function onVolumeChange() {
|
function onVolumeChange() {
|
||||||
|
|
||||||
if (!fadeTimeout) {
|
if (!fadeTimeout) {
|
||||||
|
saveVolume(this.volume);
|
||||||
events.trigger(self, 'volumechange');
|
events.trigger(self, 'volumechange');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -318,6 +329,8 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow
|
||||||
|
|
||||||
document.body.appendChild(elem);
|
document.body.appendChild(elem);
|
||||||
|
|
||||||
|
elem.volume = getSavedVolume();
|
||||||
|
|
||||||
elem.addEventListener('timeupdate', onTimeUpdate);
|
elem.addEventListener('timeupdate', onTimeUpdate);
|
||||||
elem.addEventListener('ended', onEnded);
|
elem.addEventListener('ended', onEnded);
|
||||||
elem.addEventListener('volumechange', onVolumeChange);
|
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";
|
"use strict";
|
||||||
|
|
||||||
return function () {
|
return function () {
|
||||||
|
@ -31,6 +31,16 @@ define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackMan
|
||||||
return (mediaType || '').toLowerCase() === 'video';
|
return (mediaType || '').toLowerCase() === 'video';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function getSavedVolume() {
|
||||||
|
return appSettings.get("volume") || 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveVolume(value) {
|
||||||
|
if (value) {
|
||||||
|
appSettings.set("volume", value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function getBaseProfileOptions(item) {
|
function getBaseProfileOptions(item) {
|
||||||
|
|
||||||
var disableHlsVideoAudioCodecs = [];
|
var disableHlsVideoAudioCodecs = [];
|
||||||
|
@ -446,39 +456,38 @@ define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackMan
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
self.volume = function (val) {
|
self.setVolume = function (val) {
|
||||||
if (mediaElement) {
|
if (mediaElement) {
|
||||||
if (val != null) {
|
mediaElement.volume = val / 100;
|
||||||
mediaElement.volume = val / 100;
|
}
|
||||||
return;
|
};
|
||||||
}
|
|
||||||
|
|
||||||
|
self.getVolume = function () {
|
||||||
|
if (mediaElement) {
|
||||||
return mediaElement.volume * 100;
|
return mediaElement.volume * 100;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
self.volumeUp = function () {
|
self.volumeUp = function () {
|
||||||
self.volume(Math.min(self.volume() + 2, 100));
|
self.setVolume(Math.min(self.getVolume() + 2, 100));
|
||||||
};
|
};
|
||||||
|
|
||||||
self.volumeDown = function () {
|
self.volumeDown = function () {
|
||||||
self.volume(Math.max(self.volume() - 2, 0));
|
self.setVolume(Math.max(self.getVolume() - 2, 0));
|
||||||
};
|
};
|
||||||
|
|
||||||
self.setMute = function (mute) {
|
self.setMute = function (mute) {
|
||||||
|
|
||||||
if (mute) {
|
if (mediaElement) {
|
||||||
self.volume(0);
|
mediaElement.muted = mute;
|
||||||
} else {
|
|
||||||
|
|
||||||
if (self.isMuted()) {
|
|
||||||
self.volume(50);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
self.isMuted = function () {
|
self.isMuted = function () {
|
||||||
return self.volume() === 0;
|
if (mediaElement) {
|
||||||
|
return mediaElement.muted;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
function onEnded() {
|
function onEnded() {
|
||||||
|
@ -523,6 +532,7 @@ define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackMan
|
||||||
|
|
||||||
function onVolumeChange() {
|
function onVolumeChange() {
|
||||||
|
|
||||||
|
saveVolume(this.volume);
|
||||||
events.trigger(self, 'volumechange');
|
events.trigger(self, 'volumechange');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1066,6 +1076,7 @@ define(['browser', 'pluginManager', 'events', 'apphost', 'loading', 'playbackMan
|
||||||
dlg.innerHTML = html;
|
dlg.innerHTML = html;
|
||||||
var videoElement = dlg.querySelector('video');
|
var videoElement = dlg.querySelector('video');
|
||||||
|
|
||||||
|
videoElement.volume = getSavedVolume();
|
||||||
videoElement.addEventListener('timeupdate', onTimeUpdate);
|
videoElement.addEventListener('timeupdate', onTimeUpdate);
|
||||||
videoElement.addEventListener('ended', onEnded);
|
videoElement.addEventListener('ended', onEnded);
|
||||||
videoElement.addEventListener('volumechange', onVolumeChange);
|
videoElement.addEventListener('volumechange', onVolumeChange);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue