mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update unified playback manager
This commit is contained in:
parent
0b4a2c0092
commit
4b90291afc
12 changed files with 1880 additions and 261 deletions
|
@ -27,7 +27,6 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow
|
|||
require(['browserdeviceprofile'], function (profileBuilder) {
|
||||
|
||||
var profile = profileBuilder({
|
||||
supportsCustomSeeking: true
|
||||
});
|
||||
resolve(profile);
|
||||
});
|
||||
|
@ -110,7 +109,7 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow
|
|||
return true;
|
||||
}
|
||||
|
||||
self.stop = function (destroyPlayer, reportEnded) {
|
||||
self.stop = function (destroyPlayer) {
|
||||
|
||||
cancelFadeTimeout();
|
||||
|
||||
|
@ -127,7 +126,7 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow
|
|||
elem.src = '';
|
||||
elem.innerHTML = '';
|
||||
elem.removeAttribute("src");
|
||||
onEndedInternal(reportEnded);
|
||||
onEnded();
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
|
@ -144,7 +143,7 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow
|
|||
elem.removeAttribute("src");
|
||||
|
||||
elem.volume = originalVolume;
|
||||
onEndedInternal(reportEnded);
|
||||
onEnded();
|
||||
});
|
||||
}
|
||||
return Promise.resolve();
|
||||
|
@ -212,56 +211,47 @@ define(['events', 'browser', 'pluginManager', 'apphost'], function (events, brow
|
|||
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() {
|
||||
|
||||
onEndedInternal(true);
|
||||
}
|
||||
|
||||
function onEndedInternal(triggerEnded) {
|
||||
|
||||
if (triggerEnded) {
|
||||
var stopInfo = {
|
||||
src: currentSrc
|
||||
};
|
||||
|
||||
events.trigger(self, 'stopped', [stopInfo]);
|
||||
}
|
||||
var stopInfo = {
|
||||
src: currentSrc
|
||||
};
|
||||
|
||||
events.trigger(self, 'stopped', [stopInfo]);
|
||||
currentSrc = null;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue