jellyfin-web/dashboard-ui/components/remotecontrolautoplay.js
2015-12-26 09:26:35 -05:00

51 lines
1.3 KiB
JavaScript

(function () {
function transferPlayback(oldPlayer) {
oldPlayer.getPlayerState().then(function (state) {
var item = state.NowPlayingItem;
if (!item) {
return;
}
var playState = state.PlayState || {};
oldPlayer.stop();
var itemId = item.Id;
var resumePositionTicks = playState.PositionTicks || 0;
MediaController.play({
ids: [itemId],
startPositionTicks: resumePositionTicks
});
});
}
Events.on(MediaController, 'playerchange', function (e, newPlayer, newTarget, oldPlayer) {
if (!oldPlayer) {
console.log('Skipping remote control autoplay because oldPlayer is null');
return;
}
if (!oldPlayer.isLocalPlayer) {
console.log('Skipping remote control autoplay because oldPlayer is not a local player');
return;
}
if (newPlayer.isLocalPlayer) {
console.log('Skipping remote control autoplay because newPlayer is a local player');
return;
}
// If playback is playing locally and a new player is activated, transfer the media to that player
if (oldPlayer.isPlaying()) {
transferPlayback(oldPlayer);
}
});
})();