@jxstjh/jhvideo
Version:
HTML5 jhvideo base on MPEG2-TS Stream Player
260 lines (259 loc) • 7.81 kB
TypeScript
import { Direction, PlayerMode, StreamOpt, StreamSpeed, StyleSize } from './model/playerModel';
import { RecordItem } from './utils/date';
import GlobalClient from './globalClient.js';
export declare class JPlayerMediaRecorder {
mediaElement: unknown;
private recorder;
emitter: any;
private timer$;
private $stop;
constructor(mediaElement: unknown, options: any);
on(event: any, listener: any): void;
off(event: any, listener: any): void;
start(): void;
stop(): void;
destroy(): void;
}
export declare class JPlayer {
el: HTMLElement;
playerMode: PlayerMode;
static get version(): any;
static isSupported(): boolean;
private features;
private globalClient;
private h5msClient;
private nippleIns;
private timelineIns;
private e;
private _httpDelay;
private vid;
private prefixName;
private _rootHammertime;
private vel;
private cel;
private canvas;
private wrapperel;
private joystickele;
private videoWrapperEl;
private streamOpt;
private playUrl;
private streamId;
private contextMenu;
private rectBlock;
private playerIns;
private _talkCtrl;
private videoRatio;
private playerOnCanPlay;
private _playing;
private _ptzing;
private _zooming;
private _drawing;
private _setting;
private _seeking;
private _preSeekTime;
_ptzSpeed: number;
private _isFullScreen;
private _streamSpeed;
private _offsetObj;
private _ponitDragClick;
private _zoomStartPonit;
private _zoomEndPonit;
private _begintime;
private _endtime;
private _recordList;
private _fullMonthRecordList;
private _offsetTime;
private processDraging;
private _loading;
private _recordTip;
private _recording;
private _retryTime;
private _maxRetryTime;
private _size;
private _timer;
private picker;
private mediaRecorder;
private $resize;
private $click;
private $dblclick;
private $mouseenter;
private $mouseout;
private $mousemove;
private $mousewheel;
private $contextmenu;
private $mousedown;
private $mouseup;
private subscriptionWrapList$;
private subscriptionToolbarList$;
private $ptzSubject;
private _dataPickerShow;
private _liveFlow;
emitter: any;
private zoomScale;
private get recordListData();
get mediaInfo(): any;
get loading(): boolean;
get playerType(): 'webgl' | 'video';
set playerType(type: 'webgl' | 'video');
set loading(v: boolean);
set styleSize(size: StyleSize);
get size(): StyleSize;
get seeking(): boolean;
set seeking(v: boolean);
get recording(): boolean;
set recording(v: boolean);
private set loadingTxt(value);
set error(v: any);
get isFullScreen(): boolean;
set isFullScreen(v: boolean);
get speed(): string;
get durationT(): number;
set playing(v: boolean);
get playing(): boolean;
get ptzing(): boolean;
set ptzing(v: boolean);
private get setting();
private set setting(value);
get zooming(): boolean;
set zooming(v: boolean);
get streamSpeed(): StreamSpeed;
set videoSpeed(v: StreamSpeed);
set streamSpeed(v: StreamSpeed);
get offsetTime(): number;
set offsetTime(v: number);
private get isMobile();
constructor(globalClient: GlobalClient, el: HTMLElement, playerMode: PlayerMode);
private initHammer;
on(event: any, listener: any): void;
off(event: any, listener: any): void;
private createH5msClient;
init(stream?: StreamOpt): Promise<void>;
toogleCanvasVide(toogle: any): void;
updateCanvas(): void;
getFeatureList(): {
msePlayback: boolean;
mseLivePlayback: boolean;
networkStreamIO: boolean;
networkLoaderName: string;
nativeMP4H264Playback: boolean;
nativeWebmVP8Playback: boolean;
nativeWebmVP9Playback: boolean;
};
initObservables(): void;
unSubscribeObservables(): void;
unSubscribeToolbarObservables(): void;
initDom(): void;
initToolBar(): Promise<never>;
creatPlayer(): Promise<void>;
switchStream(streamNO: number): void;
requestInfo(url: string): {
url: string;
aisleId: any;
headers: {
"Content-Type": string;
Authorization: string;
};
};
sendCmdPtz(cmd: number, operate?: {
index: number;
name?: string;
state?: number;
}): Promise<void>;
sendCmdDirection(direction: number): Promise<any>;
sendCmdPreset({ index, name, state }: {
index: number;
name?: string;
state?: number;
}): Promise<any>;
queryRecord(stream?: StreamOpt): any;
openStream(stream: StreamOpt): Promise<any>;
onPlayerError(ErrorTypes: any, ErrorDetails: any, info: any): void;
private initContextMenu;
private getRightMenu;
private bindEvents;
private unBindEvents;
setFullScreen(value?: boolean): void;
private fullScreenHandler;
private onvSeekedCanPlay;
private onvSeeked;
private setMCPosition;
private getPtzPosition;
/**
* 3 2 1
* 4 * 0
* 5 6 7
*
*/
private getPtzPositionFlag;
private appendMockCursor;
private showToolbars;
private hideToolbars;
private showSettingMenu;
private hideSettingMenu;
private hidePicker;
hideContextMenu(): void;
private checkEleSize;
private addPtzClass;
private clearPtzClass;
private cleanTip;
play(): void;
pause(): void;
seek(offsetTime: any): Promise<void>;
private originSeek;
private resetPlayerStatus;
refresh(streamOpt?: StreamOpt): Promise<void>;
toggleVod(streamOpt?: StreamOpt): Promise<void>;
private setCanvasSize;
/**
* 绘制矩形框
**/
private switchDraw;
private videoIsOriginalState;
private toggleDraw;
drawBtnHandle(e: any): void;
private setRectRatio;
getShape(): Promise<any>;
setFillRatio(): void;
resetRatio(): void;
ratioAdjust(W?: number, H?: number): void;
record(): void;
screenshot(): void;
toggleSetting(): void;
togglePtz(): void;
toggleZoom(): void;
private emptyVideoDom;
private emptyVideoTool;
seekRecordStream(offsetTime: number): Promise<boolean>;
pauseToogleStream(pause?: boolean): Promise<boolean>;
private setSpeed;
getSpeed(): Promise<any>;
toggleVodOrigin(e: any): void;
checkCanConfir(force?: boolean): void;
updatePickerOpt(opt: any): void;
checkPickerRecordList(startTimeNu: any, endTimeNu: any): Promise<void>;
queryRecordList(startTimeNu: any, endTimeNu: any): Promise<RecordItem[]>;
initPicker(): void;
fixPickerTime(): void;
changeRangeDate(selectedDates: Date[]): void;
toggleVodOriginForNumber(vod: number): void;
addStreamSpeed(): void;
reduceStreamSpeed(): void;
upDateSpeedView(streamSpeed: StreamSpeed): void;
creatZoomStartPonit(ox: any, oy: any): void;
cleanZoomStartPonit(): void;
setZoom(w: any, h: any, dir: Direction): void;
private updateProcess;
private updateTimeLine;
private updateProcessBarView;
private updateProcessClockView;
private getOffetTime;
private getOffetClientTime;
private getOffetX;
initNipple(): void;
sendPtzCmd(cmd: any, param?: number): void;
destroyNipple(): void;
close(): void;
playerDestroy(): void;
destroy(): void;
}
export default JPlayer;