use-audio-capture
Version:
🎙️ A lightweight React hook for audio recording using native Web APIs (MediaRecorder, getUserMedia). Start, stop, pause, resume audio recordings with customizable callbacks. Perfect for voice notes, interviews, podcasts, and real-time audio processing in
19 lines (18 loc) • 824 B
TypeScript
export interface UseAudioCaptureCbOptions {
mediaStream: MediaStream | null;
}
export interface UseAudioCaptureErrorCbOptions extends UseAudioCaptureCbOptions {
error?: unknown;
}
export type UseAudioCaptureCb = (e: Event, chunks: Blob[], args: UseAudioCaptureCbOptions) => void;
export type UseAudioCaptureStartCb = (e: Event, args: UseAudioCaptureErrorCbOptions) => void;
export type UseAudioCaptureErrorCb = (e: Event, args: UseAudioCaptureErrorCbOptions) => void;
export type UseAudioCaptureChunkCb = (e: BlobEvent, args: UseAudioCaptureCbOptions) => void;
export interface UseAudioCaptureProps {
onChunk?: UseAudioCaptureChunkCb;
onError?: UseAudioCaptureErrorCb;
onStart?: UseAudioCaptureStartCb;
onStop?: UseAudioCaptureCb;
onPause?: UseAudioCaptureCb;
onResume?: UseAudioCaptureCb;
}