@jxstjh/jhvideo
Version:
HTML5 jhvideo base on MPEG2-TS Stream Player
241 lines (240 loc) • 6.77 kB
TypeScript
import { Direction, PlayerMode, StreamOpt, StreamSpeed, StyleSize } from "./model/playerModel";
import GlobalClient from "./globalClient.js";
export declare class JPlayerMediaRecorder {
mediaElement: unknown;
private recorder;
emitter: any;
private timer$;
private $stop;
private subscriptiontimer;
constructor(mediaElement: unknown, time: 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 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 _currentTime;
private _audioCtrl;
private _videoStream;
private lastDecodedFrame;
_talkCtrl: any;
_vodPlayer: any;
private osdTimeId;
private videoRatio;
private playerOnCanPlay;
private _playing;
private _ptzing;
private _ptzLoad;
private _zooming;
private _drawing;
private _setting;
private _seeking;
_ptzSpeed: number;
private _isFullScreen;
private _offsetObj;
private _ponitDragClick;
private _zoomStartPonit;
private _zoomEndPonit;
private _begintime;
private _endtime;
private _offsetTime;
private _loading;
private _recording;
private _retryTime;
private _maxRetryTime;
private _size;
private _timer;
private mediaRecorder;
private $resize;
private $click;
private $dblclick;
private $mouseenter;
private $mouseout;
private $mousemove;
private $mousewheel;
private $contextmenu;
private $mousedown;
private $mouseup;
private _isMouseUp;
private subscriptionWrapList$;
private subscriptionToolbarList$;
private $ptzSubject;
private _liveFlow;
private _OSDTime;
emitter: any;
private zoomScale;
private _sequence;
private _passageRepeat;
private set sequence(value);
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);
set messageError(err: any);
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 streamSpeed(v: StreamSpeed);
set offsetTime(v: number);
private get isMobile();
constructor(globalClient: GlobalClient, el: HTMLElement, playerMode?: PlayerMode);
private initHammer;
on(event: any, listener: any): void;
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(): void;
creatPlayer(): Promise<any>;
updateOsdTimeThrottle(): void;
switchStream(streamNO: number, dom?: HTMLSpanElement): 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>;
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 setMCPosition;
private getPtzPosition;
/**
* 3 2 1
* 4 * 0
* 5 6 7
*
*/
private getPtzPositionFlag;
private appendMockCursor;
private showToolbars;
private hideToolbars;
private showSettingMenu;
private hideSettingMenu;
hideContextMenu(): void;
private checkEleSize;
private addPtzClass;
private clearPtzClass;
play(isGive?: boolean): void;
pause(): void;
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(time?: number): Promise<void>;
screenshot(): void;
toggleSetting(): void;
togglePtz(): void;
toggleZoom(): void;
private emptyVideoDom;
private emptyVideoTool;
toggleVodOrigin(e: any): void;
toggleVodOriginForNumber(vod: number): 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;
sendAudio(): any;
destroyNipple(): void;
close(): void;
playerDestroy(): void;
clearOsdTimeId(): void;
destroy(): void;
}
export default JPlayer;