UNPKG

fleeta-api-lib

Version:

A comprehensive library for fleet management applications - API, Auth, Device management

76 lines 1.98 kB
/** * Audio Manager * Handles all audio-related functionality for WebRTC connections */ /** * Audio stream configuration */ interface AudioConfig { echoCancellation?: boolean; noiseSuppression?: boolean; autoGainControl?: boolean; sampleRate?: number; channelCount?: number; } /** * Audio Manager class * Separated from WebRTCConnection for better organization and testability */ export declare class AudioManager { private localAudioStream; private isLocalAudioEnabled; private isTwoWayActive; private audioConfig; private audioTrackMonitor; constructor(audioConfig?: AudioConfig); /** * Start two-way audio communication */ startTwoWayAudio(peerConnection: RTCPeerConnection): Promise<void>; /** * Stop two-way audio communication */ stopTwoWayAudio(peerConnection?: RTCPeerConnection): Promise<void>; /** * Enable/disable local audio (microphone mute/unmute) */ setLocalAudioEnabled(enabled: boolean): void; /** * Get local audio stream */ getLocalAudioStream(): MediaStream | null; /** * Check if two-way audio is active */ isTwoWayAudioActive(): boolean; /** * Check if local audio is enabled */ isLocalAudioMuted(): boolean; /** * Update audio configuration */ updateConfig(newConfig: Partial<AudioConfig>): void; /** * Clean up all audio resources */ cleanup(): void; /** * Renegotiate peer connection for audio */ private renegotiateForAudio; /** * Start monitoring actual audio transmission */ private startAudioTransmissionMonitoring; /** * Stop audio transmission monitoring */ private stopAudioTransmissionMonitoring; /** * Mark audio renegotiation in progress (communicates with WebRTCConnection) */ private markAudioRenegotiationInProgress; } export {}; //# sourceMappingURL=AudioManager.d.ts.map