projects/deliberation_at_scale/packages/frontend/components/RoomTranscription.tsx (25 lines of code) (raw):
'use client';
import { useLocalMedia } from "@/hooks/useLocalMedia";
import useTranscribe from "@/hooks/useTranscribe";
import { ENABLE_TRANSCRIPTION } from "@/utilities/constants";
import { useEffect } from "react";
export default function RoomTranscription() {
const { state } = useLocalMedia();
const { isAudioEnabled } = state;
const { pauseRecording, startRecording } = useTranscribe({
whisperOptions: {
removeSilence: true,
},
});
useEffect(() => {
if (!ENABLE_TRANSCRIPTION) {
return;
}
if (isAudioEnabled) {
startRecording();
} else {
pauseRecording();
}
}, [isAudioEnabled, pauseRecording, startRecording]);
return null;
}