declare namespace JessibucaProTalk { enum EVENTS { talkStreamClose = 'talkStreamClose', talkStreamError = 'talkStreamError', talkStreamInactive = 'talkStreamInactive', talkGetUserMediaTimeout = 'talkGetUserMediaTimeout' } interface Config { // 语音编码类型,支持`g711a`和`g711u`,默认是`g711a` encType: string, // 语音包类型,支持`rtp`,默认是`rtp` packetType: string, // rtp包的ssrc,10位 rtpSsrc: string, // 采样通道 numberChannels: number, // 采样率 sampleRate: number, // 采样精度 sampleBitsWidth: number, // 是否开启debug模式 debug: boolean, // debug模式下的日志级别,支持`debug`、`warn`,默认是`warn` debugLevel: string, // 是否开启测试麦克风,不连接ws testMicrophone: boolean, // 语音引擎,支持`worklet`和`script`,默认是`worklet` engine: string, // 是否开启检测getUserMedia超时 checkGetUserMediaTimeout: boolean, // getUserMedia超时时间,单位ms getUserMediaTimeout: number } } declare class JessibucaProTalk { constructor(config?: JessibucaProTalk.Config); /** * 开启语音 * @param wsUrl * @param options */ startTalk(wsUrl, options: JessibucaProTalk.Config): Promise; /** * 关闭语音 */ stopTalk(): Promise; /** * 获取语音音量 * * 返回值是一个0-100的数字,表示当前语音音量 */ getTalkVolume(): Promise; /** * 设置语音音量 * @param volume 0-100的数字,表示当前语音音量 */ setTalkVolume(volume: number): Promise; /** * 监听ws 断开 * @param event * @param callback */ on(event: JessibucaProTalk.EVENTS.talkStreamClose, callback: Function): void; /** * 监听 ws error * @param event * @param callback */ on(event: JessibucaProTalk.EVENTS.talkStreamError, callback: Function): void; /** * 监听 stream oninactive * @param event * @param callback */ on(event: JessibucaProTalk.EVENTS.talkStreamInactive, callback: Function): void; /** * 检查 getUserMedia 超时 * @param event * @param callback */ on(event: JessibucaProTalk.EVENTS.talkGetUserMediaTimeout, callback: Function): void; /** * 监听方法 * @example JessibucaProTalk.on("talkStreamClose",function(){console.log('talkStreamClose')}) */ on(event: string, callback: Function): void; } export default JessibucaProTalk;