UNPKG

audio.libx.js

Version:

Comprehensive audio library with progressive streaming, recording capabilities, real-time processing, and intelligent caching for web applications

56 lines 2.09 kB
import { RealtimeProcessingOptions, RealtimeAudioData, AudioEffect } from './types.js'; export declare class RealtimeAudioProcessor { private _audioContext; private _sourceNode; private _analyserNode; private _gainNode; private _outputGainNode; private _filterNode; private _effectNodes; private _options; private _isProcessing; private _animationFrame; private _callbacks; constructor(options?: RealtimeProcessingOptions); initialize(mediaStream: MediaStream): Promise<void>; private _setupProcessingChain; private _applyEffects; private _createEffectNode; private _createReverbNode; private _createEchoNode; startProcessing(): void; stopProcessing(): void; private _processAudioFrame; onAudioData(callback: (data: RealtimeAudioData) => void): void; onSilenceDetected(callback: (isSilence: boolean) => void): void; onLevelUpdate(callback: (level: number) => void): void; updateOptions(options: Partial<RealtimeProcessingOptions>): void; setEffectsEnabled(enabled: boolean): void; private _rebuildProcessingChain; setVolume(volume: number): void; setOutputVolume(volume: number): void; setOutputMuted(muted: boolean): void; setFilter(type: BiquadFilterType, frequency: number, Q?: number): void; toggleEffect(effectType: string, enabled: boolean): void; getCurrentLevel(): number; getFrequencyData(): Uint8Array | null; getWaveformData(): Uint8Array | null; createProcessedStream(): MediaStream | null; getCapabilities(): { isSupported: boolean; hasAnalyser: boolean; isProcessing: boolean; supportedEffects: string[]; sampleRate: number; currentOptions: { enableSilenceDetection?: boolean; silenceThresholdDb?: number; enableLevelMonitoring?: boolean; levelUpdateInterval?: number; enableEffects?: boolean; effects?: AudioEffect[]; }; }; dispose(): void; } //# sourceMappingURL=RealtimeAudioProcessor.d.ts.map