UNPKG

voice-agent

Version:

A Vue.js voice agent plugin for real-time voice communication via WebSocket

77 lines 1.73 kB
/** * 音频队列管理器 * 支持流式音频播放,实时播放音频片段,支持打断和恢复机制 */ interface ConversationMessage { isPlaying?: boolean; [key: string]: any; } interface AudioQueueStatus { queueLength: number; isPlaying: boolean; isPaused: boolean; scheduledBuffers: number; } export declare class AudioQueueManager { private audioQueue; private isPlaying; private isPaused; private currentMessage; private audioContext; private gainNode; private playbackStartTime; private scheduledBuffers; private nextStartTime; private sampleRate; private processingQueue; /** * 初始化音频上下文 */ initAudioContext(): Promise<void>; /** * 添加音频片段到队列 */ enqueueAudio(base64Audio: string, message?: ConversationMessage | null): Promise<void>; /** * 解码Base64音频数据为AudioBuffer */ private decodeAudioData; /** * 开始播放队列中的音频 */ private startPlayback; /** * 处理音频队列 */ private processQueue; /** * 调度音频缓冲区播放 */ private scheduleAudioBuffer; /** * 打断当前播放(用于语音检测开始时) */ interrupt(): void; /** * 恢复播放(用于语音检测结束时) */ resume(): Promise<void>; /** * 停止播放 */ stopPlayback(): void; /** * 清空队列 */ clearQueue(): void; /** * 销毁管理器 */ destroy(): void; /** * 获取队列状态 */ getStatus(): AudioQueueStatus; } export {}; //# sourceMappingURL=audioQueueManager.d.ts.map