infobip-rtc
Version:
Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation
32 lines (31 loc) • 997 B
TypeScript
import { Logger } from "../../log/Logger";
export interface AudioStreamEnergyMonitor {
start(stream: MediaStream): void;
stop(): void;
destroy(): void;
}
export declare class DefaultAudioStreamEnergyMonitor implements AudioStreamEnergyMonitor {
private onAudioEnergyDetected;
private logger;
private callId;
private audioContext;
private analyser;
private source;
private dataArray;
private analyserInterval;
private clonedTrack;
private readonly throttledEmitAudioEnergyDetected;
private constructor();
static create(onAudioEnergyDetected: () => void, logger: Logger, callId: string): AudioStreamEnergyMonitor | null;
start(stream: MediaStream): void;
stop(): void;
destroy(): void;
private swapClonedTrack;
private startAudioEnergyDetection;
private clearAnalyserInterval;
private startAnalyserInterval;
private checkEnergy;
private rms;
private removeClonedTrack;
private addClonedTrack;
}