voice-agent
Version: 
A Vue.js voice agent plugin for real-time voice communication via WebSocket
58 lines (57 loc) • 1.32 kB
TypeScript
import { VoiceAgentConfig } from '../types';
interface AudioCallbacks {
    onAudioData?: (data: number[]) => void;
}
interface AudioMessage {
    audioInstance?: HTMLAudioElement | null;
    isPlaying?: boolean;
}
export declare class AudioManager {
    private audioStream;
    private audioContext;
    private processor;
    private config;
    private callbacks;
    /**
     * 初始化配置和回调
     */
    init(config: VoiceAgentConfig, callbacks?: AudioCallbacks): void;
    /**
     * 请求麦克风权限并初始化音频流
     */
    requestMicrophonePermission(): Promise<boolean>;
    /**
     * 初始化音频处理
     */
    initAudioProcessing(): Promise<boolean>;
    /**
     * 开始音频捕获
     */
    startAudioCapture(): boolean;
    /**
     * 停止音频捕获
     */
    stopAudioCapture(): boolean;
    /**
     * 恢复音频捕获
     */
    resumeAudioCapture(): Promise<boolean>;
    /**
     * 播放音频响应
     */
    playAudioResponse(base64Audio: string, message?: AudioMessage): Promise<boolean>;
    /**
     * Convert PCM data to WAV format
     */
    private pcmToWav;
    /**
     * 检查是否正在录音
     */
    isRecording(): boolean;
    /**
     * 清理资源
     */
    cleanup(): void;
}
export {};
//# sourceMappingURL=audioManager.d.ts.map