murmuraba
Version:
Real-time audio noise reduction with advanced chunked processing for web applications
76 lines • 2.35 kB
TypeScript
import { ProcessedChunk } from './types';
import { URLManager } from './url-manager';
import { ProcessingMetrics } from '../../types';
export declare class RecordingManager {
private urlManager;
private mediaRecorder;
private originalRecorder;
private chunkRecordings;
private processChunkInterval;
private stopCycleFlag;
private cycleCount;
private cycleTimeout;
private eventBridge;
private bridgeToken;
private managerId;
private metricsProvider;
private currentMetrics;
constructor(urlManager: URLManager);
private generateId;
/**
* TDD Integration: Set metrics provider from ChunkProcessor
*/
setMetricsProvider(provider: {
getAggregatedMetrics: (startTime: number, endTime: number) => any;
}): void;
/**
* TDD Integration: Receive metrics from ChunkProcessor
*/
receiveMetrics(metrics: any): void;
/**
* Secure Integration: Notify metrics received from secure event bridge
*/
notifyMetrics(metrics: ProcessingMetrics): void;
/**
* TDD Integration: Get real metrics for a time period
*/
private getRealMetrics;
/**
* Start concatenated streaming for medical-grade recording
*/
startCycle(processedStream: MediaStream, originalStream: MediaStream, chunkDuration: number, onChunkProcessed: (chunk: ProcessedChunk) => void): Promise<void>;
/**
* Process recorded chunk data
*/
private processChunkRecording;
/**
* Stop recording and release all audio resources
*/
stopRecording(): void;
/**
* Pause recording
*/
pauseRecording(): void;
/**
* Resume recording
*/
resumeRecording(): void;
/**
* Check if currently recording
*/
isRecording(): boolean;
/**
* Start concatenated streaming for medical-grade recording
* This is an alias for startCycle for backward compatibility
*/
startConcatenatedStreaming(processedStream: MediaStream, originalStream: MediaStream, chunkDuration: number, onChunkProcessed: (chunk: ProcessedChunk) => void): Promise<void>;
/**
* Check if recording is paused
*/
isPaused(): boolean;
/**
* Clean up and unregister from the secure event bridge
*/
cleanup(): void;
}
//# sourceMappingURL=recording-manager.d.ts.map