@jxstjh/jhvideo
Version:
HTML5 jhvideo base on MPEG2-TS Stream Player
77 lines (76 loc) • 1.94 kB
TypeScript
/// <reference types="node" />
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 {
autoTalk: boolean;
_ws: any;
_pcmPlayer: PCMPlayer;
_receivedSteamHead: boolean;
_decoder: any;
_lastCmd: any;
_processor: any;
requestInfo: requestType;
_requestData: {
playType: string;
playUrl: string;
startTime: any;
endTime: any;
};
_capturer: {
audioStream: any;
audioContext: any;
audioSource: any;
audioNode: any;
scriptProcessor: any;
};
_streamAudioInfo: {
audioType: string;
audioSample: number;
audioBitrate: number;
audioBitwidth: number;
audioChannel: number;
};
emitter: EventEmitter;
constructor(stream?: StreamOpt, requestInfo?: requestType);
init(): Promise<void>;
/**
* pcm 音频数据加工处理
*/
_loadProcessor(): void;
open(): Promise<void>;
getUrl(): Promise<any>;
setInfo(code: any, mediaInfo: any): void;
/**
* 音频播放器
*/
createPcm(): void;
/**
* 码流处理
* @param {*} bufData
* @returns
*/
handleStream(bufData: any): void;
handlingData(bufData: any, isHead?: boolean): void;
outputData(arrBuf: any): void;
/**
* 交互信息处理
* @param {*} strData
*/
handleInteract(strData: any): void;
sendCmd(cmd: any, extra?: {}): Promise<unknown>;
close(): void;
destroy(): void;
toggle(e: any): void;
static talkIsSupported(): boolean;
}
export default TalkCtrl;