EmbyCrackedClient/web/modules/htmlvideoplayer/basehtmlplayer.js

1 line
9.6 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import htmlMediaHelper from"./htmlmediahelper.js";import connectionManager from"./../emby-apiclient/connectionmanager.js";import browser from"./../browser.js";function BaseHtmlPlayer(){this.type="mediaplayer"}function isValidDuration(duration){return!(!duration||isNaN(duration)||duration===Number.POSITIVE_INFINITY||duration===Number.NEGATIVE_INFINITY)}function getRanges(instance,elem,timeRanges){var ranges=[];let offset;instance=instance._currentPlayOptions;offset=(offset=instance?instance.transcodingOffsetTicks:offset)||0;for(let i=0,length=timeRanges.length;i<length;i++){let start=timeRanges.start(i),end=timeRanges.end(i);isValidDuration(start)||(start=0),isValidDuration(end)?ranges.push({start:1e7*start+offset,end:1e7*end+offset}):end=0}return ranges}function seriesImageUrl(item,options){if(item)return"Episode"!==item.Type?null:((options=options||{}).type=options.type||"Primary","Primary"===options.type&&item.SeriesPrimaryImageTag?(options.tag=item.SeriesPrimaryImageTag,connectionManager.getApiClient(item).getImageUrl(item.SeriesId,options)):"Thumb"===options.type&&item.ParentThumbImageTag?(options.tag=item.ParentThumbImageTag,connectionManager.getApiClient(item).getImageUrl(item.ParentThumbItemId,options)):null);throw new Error("item cannot be null!")}function imageUrl(item,options){if(!item)throw new Error("item cannot be null!");(options=options||{}).type=options.type||"Primary";var imageTags=item.ImageTags||{};return options.tag=item.PrimaryImageTag||imageTags[options.type],options.tag?connectionManager.getApiClient(item).getImageUrl(item.PrimaryImageItemId||item.Id||item.ItemId,options):item.AlbumId&&item.AlbumPrimaryImageTag?(options.tag=item.AlbumPrimaryImageTag,connectionManager.getApiClient(item).getImageUrl(item.AlbumId,options)):null}function getPosterUrl(item){var imageOptions={};return seriesImageUrl(item,imageOptions)||imageUrl(item,imageOptions)}function requireHlsPlayer(){return require(["hlsjs"]).then(function(responses){responses=responses[0];return window.Hls=responses})}function setCurrentTimeIfNeeded(element,seconds,allowance){Math.abs((element.currentTime||0)-seconds)>=allowance&&(element.currentTime=seconds)}function setCurrentTimeIfNeededOnDelay(element,seconds,allowance){setTimeout(function(){setCurrentTimeIfNeeded(element,seconds,allowance)},2500)}function onMediaManagerLoadMedia(data){var media=data.media,customData=media.customData,options=customData.options,elem=this._mediaElement;return this.loadIntoPlayer(elem,options,media.contentId,media,data,customData).then(function(){return null})}BaseHtmlPlayer.prototype.canPlayMediaType=function(mediaType){return(mediaType||"").toLowerCase()===this.mediaType},BaseHtmlPlayer.prototype.currentSrc=function(){return this._currentSrc},BaseHtmlPlayer.prototype.getDeviceProfile=function(item,options){return htmlMediaHelper.getDeviceProfile(this,item,options)},BaseHtmlPlayer.prototype.currentTime=function(val){var currentTime,mediaElement=this._mediaElement;if(mediaElement){if(null==val)return(currentTime=this._currentTime)?1e3*currentTime:1e3*(mediaElement.currentTime||0);mediaElement.currentTime=val/1e3}},BaseHtmlPlayer.prototype.duration=function(val){var mediaElement=this._mediaElement;if(mediaElement){mediaElement=mediaElement.duration;if(isValidDuration(mediaElement))return 1e3*mediaElement}return null},BaseHtmlPlayer.prototype.getBufferedRanges=function(){var mediaElement=this._mediaElement;return mediaElement?getRanges(this,mediaElement,mediaElement.buffered||[]):[]},BaseHtmlPlayer.prototype.getSeekableRanges=function(){var mediaElement=this._mediaElement;return mediaElement?getRanges(this,mediaElement,mediaElement.seekable||[]):[]},BaseHtmlPlayer.prototype.pause=function(){var mediaElement=this._mediaElement;mediaElement&&mediaElement.pause()},BaseHtmlPlayer.prototype.resume=function(){var mediaElement=this._mediaElement;mediaElement&&mediaElement.play()},BaseHtmlPlayer.prototype.unpause=function(){var mediaElement=this._mediaElement;mediaElement&&mediaElement.play()},BaseHtmlPlayer.prototype.paused=function(){var mediaElement=this._mediaElement