UseAudioRecorderState
@siteed/audio-studio / UseAudioRecorderState
Interface: UseAudioRecorderState
Defined in: src/AudioStudio.types.ts:640
Properties
analysisData?
optionalanalysisData:AudioAnalysis
Defined in: src/AudioStudio.types.ts:700
Analysis data for the recording if processing was enabled
compression?
optionalcompression:CompressionInfo
Defined in: src/AudioStudio.types.ts:698
Information about compression if enabled
durationMs
durationMs:
number
Defined in: src/AudioStudio.types.ts:694
Duration of the current recording in milliseconds
isPaused
isPaused:
boolean
Defined in: src/AudioStudio.types.ts:692
Indicates whether recording is in a paused state
isRecording
isRecording:
boolean
Defined in: src/AudioStudio.types.ts:690
Indicates whether recording is currently active
onRecordingInterrupted()?
optionalonRecordingInterrupted: (_) =>void
Defined in: src/AudioStudio.types.ts:702
Optional callback to handle recording interruptions
Parameters
_
Returns
void
pauseRecording()
pauseRecording: () =>
Promise<void>
Defined in: src/AudioStudio.types.ts:686
Pauses the current recording
Returns
Promise<void>
prepareRecording()
prepareRecording: (
_) =>Promise<void>
Defined in: src/AudioStudio.types.ts:680
Prepares recording with the specified configuration without starting it.
This method eliminates the latency between calling startRecording and the actual recording beginning. It pre-initializes all audio resources, requests permissions, and sets up audio sessions in advance, allowing for true zero-latency recording start when startRecording is called later.
Technical benefits:
- Eliminates audio pipeline initialization delay (50-300ms depending on platform)
- Pre-allocates audio buffers to avoid memory allocation during recording start
- Initializes audio hardware in advance (particularly important on iOS)
- Requests and verifies permissions before the critical recording moment
Use this method when:
- You need zero-latency recording start (e.g., voice commands, musical applications)
- You're building time-sensitive applications where missing initial audio would be problematic
- You want to prepare resources during app initialization, screen loading, or preceding user interaction
- You need to ensure recording starts reliably and instantly on all platforms
Parameters
_
Returns
Promise<void>
A promise that resolves when preparation is complete
Example
// Prepare during component mounting
useEffect(() => {
prepareRecording({
sampleRate: 44100,
channels: 1,
encoding: 'pcm_16bit',
});
}, []);
// Later when user taps record button, it starts with zero latency
const handleRecordPress = () => startRecording({
sampleRate: 44100,
channels: 1,
encoding: 'pcm_16bit',
});
resumeRecording()
resumeRecording: () =>
Promise<void>
Defined in: src/AudioStudio.types.ts:688
Resumes a paused recording
Returns
Promise<void>
size
size:
number
Defined in: src/AudioStudio.types.ts:696
Size of the recorded audio in bytes
startRecording()
startRecording: (
_) =>Promise<StartRecordingResult>
Defined in: src/AudioStudio.types.ts:682
Starts recording with the specified configuration
Parameters
_
Returns
Promise<StartRecordingResult>
stopRecording()
stopRecording: () =>
Promise<null|AudioRecording>
Defined in: src/AudioStudio.types.ts:684
Stops the current recording and returns the recording data
Returns
Promise<null | AudioRecording>