@jxstjh/jhvideo
Version:
HTML5 jhvideo base on MPEG2-TS Stream Player
68 lines (67 loc) • 1.88 kB
TypeScript
/// <reference types="node/events" />
/// <reference types="cors/node_modules/@types/node/events" />
import { StreamOpt } from "../model/playerModel";
import { EventEmitter } from "events";
import PCMPlayer from 'pcm-player';
interface requestType {
url: string;
aisleId: string;
protocol: string;
headers: {
"Content-Type": string;
"Authorization": string;
};
}
declare class TalkCtrl {
private autoTalk;
_isCompatible: boolean;
_pcmPlayer: PCMPlayer;
_processor: any;
_prefixName: string;
_talkDemo: HTMLElement;
_talkTitle: string;
_videoBox: Element;
_talkBody: HTMLElement;
_playUrl: string;
_talkStream: any;
_decoder: any;
_animationId: number;
requestInfo: requestType;
_capturer: {
audioStream: any;
audioContext: any;
audioSource: any;
audioNode: any;
scriptProcessor: any;
gainNode: any;
};
_streamAudioInfo: {
audioType: string;
audioSample: number;
audioBitrate: number;
audioBitwidth: number;
audioChannel: number;
};
private eventList;
emitter: EventEmitter;
constructor(stream?: StreamOpt, requestInfo?: requestType, prefixName?: string, videoBox?: Element);
on(event: any, listener: any): void;
off(event: any, listener: any): void;
init(): Promise<void>;
addEvent(talkHead: HTMLElement, talkFoot: HTMLElement): void;
removeEvent(): void;
_loadCapturer(): Promise<void>;
audioAnimation(): Promise<void>;
_loadProcessing(): void;
/**
* pcm 音频数据加工处理
*/
_loadProcessor(): void;
_loadPlayer(): void;
open(): Promise<void>;
getUrl(): Promise<any>;
stop(en?: boolean): void;
destroy(en?: boolean): void;
static talkIsSupported(): boolean;
}
export default TalkCtrl;