EmbyCrackedClient/web/modules/playback/osdcontroller.js

1 line
23 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
import layoutManager from"./../layoutmanager.js";import datetime from"./../common/datetime.js";import mediaInfo from"./../mediainfo/mediainfo.js";import playbackManager from"./../common/playback/playbackmanager.js";import dom from"./../dom.js";import connectionManager from"./../emby-apiclient/connectionmanager.js";import inputManager from"./../common/inputmanager.js";import userSettings from"./../common/usersettings/usersettings.js";import keyboardManager from"./../input/keyboard.js";import events from"./../emby-apiclient/events.js";function updateDurationText(elem,enableProgressByTimeOfDay,durationTicks,displayItem,enableTimeRemaining){if(null==durationTicks)elem.innerHTML="";else if(isNaN(durationTicks))elem.innerHTML="";else{let html=datetime.getDisplayRunningTime(durationTicks);enableTimeRemaining&&(html="-"+html,enableProgressByTimeOfDay||"Video"!==displayItem?.MediaType||(html+='<span class="osd-endsat"><span class="osd-endsat-dot">/</span>'+mediaInfo.getEndsAtFromPosition(durationTicks,0,!1).toLowerCase()+"</span>")),elem.innerHTML=html}}function getDisplayTime(date,showSeconds){return(showSeconds?datetime.toLocaleTimeString(date,{hour:"numeric",minute:"2-digit",second:"2-digit"}):datetime.getDisplayTime(date)).toLowerCase()}function getDisplayTimeWithoutAmPm(date,showSeconds){return getDisplayTime(date,showSeconds).replace("am","").replace("pm","").trim()}function setDisplayTime(elem,ms){let html;ms&&(html=getDisplayTimeWithoutAmPm(new Date(ms))),elem.innerHTML=html||""}function getDisplayPercentByTimeOfDay(startDateMs,programRuntimeMs,currentTimeMs){return(currentTimeMs-startDateMs)/programRuntimeMs*100}function getStep(runtimeTicks){let step=1e7*(layoutManager.tv?10:1)/runtimeTicks*100;return step=step.toFixed(3),step=Math.max(.01,step),step=Math.min(1,step)}function updateTimeText(instance,elem,ticks){if(null==ticks)elem.innerHTML="";else if(isNaN(ticks))elem.innerHTML="";else{let html=datetime.getDisplayRunningTime(ticks);var ticks=instance.repeatingPositionSliderKey,speed=instance.repeatingPositionSliderKeySpeed;switch(ticks){case"stepdown":html='<i class="md-icon md-icon-fill autortl button-icon-left" style="font-size:170%;">&#xe020;</i>'+html,1!==speed&&(html='<div class="button-icon-left">'+speed+"</div>"+html);break;case"stepup":html='<div style="min-width:3.5ch;">'+html+"</div>",html+='<i class="md-icon md-icon-fill autortl button-icon-right" style="font-size:170%;">&#xe01f;</i>',1!==speed&&(html+='<div class="button-icon-right">'+speed+"</div>")}elem.innerHTML=html}}let DefaultSpeed=1;function setDefaultSpeed(instance){instance.repeatingPositionSliderKeySpeed=DefaultSpeed}function onIntervalPositionSlider(){var slider=this.options.nowPlayingPositionSlider,key=this.repeatingPositionSliderKey,speed=this.repeatingPositionSliderKeySpeed,sliderMin=slider.min,sliderMax=slider.max,stepMultiplier=[1,3,6,12,18][speed-1];switch(key){case"stepdown":this.nowPlayingSliderValue=Math.min(Math.max(this.nowPlayingSliderValue-stepMultiplier*convertMsToNowPlayingSliderStep(this,1e3),sliderMin),sliderMax);break;case"stepup":this.nowPlayingSliderValue=Math.min(Math.max(this.nowPlayingSliderValue+stepMultiplier*convertMsToNowPlayingSliderStep(this,1e3),sliderMin),sliderMax);break;default:return}console.log("onIntervalPositionSlider, key: "+key+", speed: "+speed),this.nowPlayingSliderValue<=sliderMin?(this.nowPlayingSliderValue=sliderMin,slider.endEditing(!0,sliderMin)):this.nowPlayingSliderValue>=sliderMax?(this.nowPlayingSliderValue=sliderMax,slider.endEditing(!0,sliderMax)):slider.beginEditing(this.nowPlayingSliderValue)}function clearIncrementIntervalForPositionSlider(instance){instance.intervalForPositionSlider&&(clearInterval(instance.intervalForPositionSlider),instance.intervalForPositionSlider=null)}function startIncrementIntervalForPositionSlider(instance){instance.intervalForPositionSlider||(setDefaultSpeed(instance),instance.intervalForPositionSlider=setInterval(instance.bound_intervalForPositionSlider,100))}function convertMsToNowPlayingSliderStep(instance,ms){var runtimeTicks=instance.nowPlayingSliderRunTimeTic