convai-web-sdk
Version:
Integrate lifelike digital beings into your web applications with real-time conversations, actions, and facial expressions. Supports a variety of voices, languages, and emotions.
35 lines (34 loc) • 985 B
TypeScript
export declare class AudioPlayer {
private audioContext;
private sourceNode;
private audioQueue;
private gainNode;
private isMuted;
private isPlaying;
private isPaused;
private pausedAt;
private startTime;
private currentBuffer;
private preloading;
private channels;
private sampleRate;
private onPlay;
private onStop;
private onStateChangeCallback;
constructor(sampleRate: number);
private initializeAudioContext;
preload(): void;
addChunk(data: Uint8Array, sampleRate?: number | null): void;
playAudio(): void;
private playNextChunk;
private playBuffer;
pauseAudio(): void;
resumeAudio(): void;
stopAudio(): void;
private notifyStateChange;
getVolume(): number;
setAudioVolume(volume: number): void;
onPlayStart(fn: () => void): void;
onPlayStop(fn: () => void): void;
onStateChange(fn: (state: string) => void): void;
}