Component props
The rendered RecordingControls component
The RecordingControls component offers both full and compact modes for different layout requirements. It includes a dropdown menu for configuring recording options like transcription, auto-composition, and meeting summaries.
Key Features:
Recording Options:
transcribe: Generate live transcription during the recordingautoCompose: Automatically combine participant videos into onepostMeetingSummary: Generate AI-powered meeting summary afterwardBasic recording controls:
import { RecordingControls } from '@hiyve/react-capture';
function MeetingRecording() {
const [isRecording, setIsRecording] = useState(false);
const [duration, setDuration] = useState(0);
const handleStart = (options?: RecordingOptions) => {
startRecording(options);
setIsRecording(true);
};
const handleStop = () => {
stopRecording();
setIsRecording(false);
};
return (
<RecordingControls
isRecording={isRecording}
onStartRecording={handleStart}
onStopRecording={handleStop}
duration={duration}
/>
);
}
Compact mode for control bars:
import { RecordingControls } from '@hiyve/react-capture';
function CompactRecordButton({ isRecording, duration, onStart, onStop }) {
return (
<RecordingControls
isRecording={isRecording}
onStartRecording={onStart}
onStopRecording={onStop}
duration={duration}
compact
/>
);
}
With custom labels for internationalization:
import { RecordingControls, defaultRecordingControlsLabels } from '@hiyve/react-capture';
function JapaneseRecordingControls() {
const japaneseLabels = {
record: '録画',
stopRecording: '録画停止',
startRecording: '録画開始',
recordingOptions: '録画オプション',
transcribe: '文字起こし',
transcribeDescription: 'リアルタイム文字起こし',
autoCompose: '自動編集',
autoComposeDescription: '単一動画に結合',
meetingSummary: '会議要約',
meetingSummaryDescription: 'AI生成要約',
};
return (
<RecordingControls
isRecording={false}
onStartRecording={handleStart}
onStopRecording={handleStop}
labels={japaneseLabels}
/>
);
}
With custom icons and no options menu:
import { RecordingControls } from '@hiyve/react-capture';
import { FaCircle, FaStop } from 'react-icons/fa';
function SimpleRecordButton() {
return (
<RecordingControls
isRecording={isRecording}
onStartRecording={handleStart}
onStopRecording={handleStop}
showOptions={false}
icons={{
record: <FaCircle color="red" />,
stop: <FaStop />,
}}
/>
);
}
RecordingControls provides UI for starting and stopping meeting recordings.