EmbyCrackedClient/web/modules/playback/playersettingsmenu.js

1 line
7.6 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import globalize from"./../common/globalize.js";import playbackManager from"./../common/playback/playbackmanager.js";import connectionManager from"./../emby-apiclient/connectionmanager.js";import actionsheet from"./../actionsheet/actionsheet.js";import qualityoptions from"./../common/qualityoptions.js";function showQualityMenu(player,options){var videoStream=playbackManager.currentMediaSource(player).MediaStreams.filter(function(stream){return"Video"===stream.Type})[0],videoStream=videoStream?videoStream.Width:null,videoStream=qualityoptions.getVideoQualityOptions({currentMaxBitrate:playbackManager.getMaxStreamingBitrate(player),isAutomaticBitrateEnabled:playbackManager.enableAutomaticBitrateDetection(player),videoWidth:videoStream,enableAuto:!0}),menuItems=videoStream.map(function(o){var opt={name:o.name,id:o.bitrate,asideText:o.secondaryText};return o.selected&&(opt.selected=!0),opt});let selectedId=videoStream.filter(function(o){return o.selected});return selectedId=selectedId.length?selectedId[0].bitrate:null,actionsheet.show({items:menuItems,positionTo:options.positionTo,positionX:options.positionX,positionY:options.positionY,transformOrigin:options.transformOrigin,noTextWrap:options.noTextWrap,title:globalize.translate("Quality"),hasItemSelectionState:!0}).then(function(id){id=parseInt(id);id!==selectedId&&playbackManager.setMaxStreamingBitrate({enableAutomaticBitrateDetection:!id,maxBitrate:id},player)})}function showSpeedMenu(options){var menuItems=[];let player=options.player;var currentValue=playbackManager.getPlaybackRate(player),values=[.25,.5,.75,1,1.25,1.5,1.75,2];for(let i=0,length=values.length;i<length;i++){var value=values[i];menuItems.push({name:1===value?globalize.translate("Normal"):numberToString(value)+"x",id:value.toString(),selected:currentValue===value})}return actionsheet.show({items:menuItems,positionTo:options.positionTo,positionX:options.positionX,positionY:options.positionY,transformOrigin:options.transformOrigin,noTextWrap:options.noTextWrap,title:globalize.translate("PlaybackSpeed"),hasItemSelectionState:!0}).then(function(result){result&&playbackManager.setPlaybackRate(result,player)})}function showRepeatModeMenu(player,options){var menuItems=[],currentValue=playbackManager.getRepeatMode(player);return menuItems.push({name:globalize.translate("RepeatAll"),id:"RepeatAll",selected:"RepeatAll"===currentValue,asideIcon:"&#xe040;"}),menuItems.push({name:globalize.translate("RepeatOne"),id:"RepeatOne",selected:"RepeatOne"===currentValue,asideIcon:"&#xe041;"}),menuItems.push({name:globalize.translate("None"),id:"RepeatNone",selected:"RepeatNone"===currentValue}),actionsheet.show({items:menuItems,positionTo:options.positionTo,positionX:options.positionX,positionY:options.positionY,transformOrigin:options.transformOrigin,noTextWrap:options.noTextWrap,title:globalize.translate("HeaderRepeatMode"),hasItemSelectionState:!0,hasItemAsideIcon:!0}).then(function(mode){mode&&playbackManager.setRepeatMode(mode,player)})}function getQualitySecondaryText(player){var videoStream=playbackManager.currentMediaSource(player).MediaStreams.filter(function(stream){return"Video"===stream.Type})[0],videoStream=videoStream?videoStream.Width:null,videoStream=qualityoptions.getVideoQualityOptions({currentMaxBitrate:playbackManager.getMaxStreamingBitrate(player),isAutomaticBitrateEnabled:playbackManager.enableAutomaticBitrateDetection(player),videoWidth:videoStream,enableAuto:!0}).filter(function(o){return o.selected});if(!videoStream.length)return null;let text=(videoStream=videoStream[0]).name;return videoStream.autoText&&((player=playbackManager.getPlayerState(player)).PlayState&&"Transcode"!==player.PlayState.PlayMethod?text+=" - Direct":text+=" "+videoStream.autoText),text}function showAspectRatioMenu(player,options){let currentId=playbackManager.getAspectRatio(player);var menuItems=playbackManager.getSupportedAspectRatios(player).map(function(i){return{id:i.id,name:i.name,selected:i.id===currentId}});return actionsheet.show({items:menuItems,positionTo:options.positionTo,positionX:options.positionX,positionY:option