Object containing recording state (isRecording, isRecordingStarting,
recordingId, recordingStartTime, recordingDuration, responseId, error)
and actions (startRecording, stopRecording, clearRecordingError)
import { useRecording } from '@hiyve/rn-react';
function RecordingControls() {
const { isRecording, isRecordingStarting, recordingDuration, startRecording, stopRecording, error } = useRecording();
const formatDuration = (seconds: number) => {
const m = Math.floor(seconds / 60);
const s = seconds % 60;
return `${m}:${s.toString().padStart(2, '0')}`;
};
return (
<View>
{isRecording && <Text>Recording: {formatDuration(recordingDuration)}</Text>}
{error && <Text style={{ color: 'red' }}>{error}</Text>}
<Button
title={isRecording ? 'Stop Recording' : 'Start Recording'}
onPress={() => isRecording ? stopRecording() : startRecording()}
disabled={isRecordingStarting}
/>
</View>
);
}
Access recording state and controls.
Provides the current recording status, a live duration counter that updates every second while recording is active, and actions to start and stop recording.