Circle V2 API Docs
    Preparing search index...

    Module @repo/use-record-audio

    @repo/use-record-audio

    React hooks for browser audio capture. It exports useRecordAudio (MediaRecorder-based recording with chunked storage), useMicStream (raw microphone access), useMicAnalyser (audio visualization data), useAudioDevices (device enumeration), and useSilenceDetection. Chunk storage uses IndexedDB via idb-keyval.

    %%{init:{"theme":"dark"}}%% graph TD use_record_audio["@repo/use-record-audio"] errors["@repo/errors"] safe["@repo/safe"] typescript_config["@repo/typescript-config"] vitest_config["@repo/vitest-config"] use_record_audio --> errors use_record_audio --> safe use_record_audio -.-> typescript_config use_record_audio -.-> vitest_config
    %%{init:{"theme":"default"}}%% graph TD use_record_audio["@repo/use-record-audio"] errors["@repo/errors"] safe["@repo/safe"] typescript_config["@repo/typescript-config"] vitest_config["@repo/vitest-config"] use_record_audio --> errors use_record_audio --> safe use_record_audio -.-> typescript_config use_record_audio -.-> vitest_config
    graph TD
      use_record_audio["@repo/use-record-audio"]
      errors["@repo/errors"]
      safe["@repo/safe"]
      typescript_config["@repo/typescript-config"]
      vitest_config["@repo/vitest-config"]
      use_record_audio --> errors
      use_record_audio --> safe
      use_record_audio -.-> typescript_config
      use_record_audio -.-> vitest_config
    import { useRecordAudio } from "@repo/use-record-audio";

    function Recorder() {
    const { start, stop, state, audioUrl } = useRecordAudio();

    return (
    <div>
    <button onClick={state === "recording" ? stop : start}>
    {state === "recording" ? "Stop" : "Record"}
    </button>
    {audioUrl && <audio src={audioUrl} controls />}
    </div>
    );
    }
    Script Description
    lint Run Biome checks
    check-types Typecheck with tsc --noEmit
    test Run Vitest with coverage
    test:watch Run Vitest in watch mode

    Type Aliases

    AudioPermissionState
    RecordingState
    UseAudioDevicesReturn
    UseMicAnalyserReturn
    UseMicStreamReturn
    UseRecordAudioReturn
    UseSilenceDetectionReturn

    Functions

    useAudioDevices
    useMicAnalyser
    useMicStream
    useRecordAudio
    useSilenceDetection