728x90
๋ฐ์ํ
์๋์ฒ๋ผ transcript๋ฅผ ์ถ๋ ฅํ๋ฉด ์ฌํ๊ป ๋งํ๋ ํ ์คํธ๋ค์ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๋ ๊ฒ ์๋๋ผ,
๋ง์ ๋๋ ๋ค์ ๋ค์ ๋ง์ ํ๋ฉด ์ด์ ํ ์คํธ๋ฅผ ์ง์ฐ๊ณ ๋ค์ ๊ธฐ๋กํ๋ ๋ฐฉ์
const [subtitle, setSubtitle] = useState('');
const {
transcript,
interimTranscript,
resetTranscript,
browserSupportsSpeechRecognition,
finalTranscript,
} = useSpeechRecognition();
useEffect( ()=>{
console.log('๋ง์ดํฌ ๋
นํ ์์');
SpeechRecognition.startListening({continuous: true});
}, [] );
useEffect( ()=>{
if(interimTranscript.length > 0)
setSubtitle( interimTranscript );
}, [interimTranscript] );
useEffect( ()=>{
if( finalTranscript.length > 0 )
setSubtitle( finalTranscript );
resetTranscript();
}, [finalTranscript] );
return (
<div>
<div id='box'>
<p id='transcript'>{subtitle}</p>
</div>
</div>
);
"if(interimTranscript.length > 0)"์ "if( finalTranscript.length > 0 )"๋ฅผ ์ ์ฃผ๋ฉด ๋น ํ ์คํธ๊ฐ ์ถ๋ ฅ์ด ๋๊ธฐ ๋๋ฌธ์ ์จ์ค ๊ฒ
728x90
๋ฐ์ํ
'๐ฅ๏ธํ๋ก ํธ์๋ > React.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฆฌ์กํธ - ์ฐํด๋ฆญ ๋ฉ๋ด ๊ตฌํํ๊ธฐ(context menu) (0) | 2023.10.13 |
---|---|
๋ฆฌ์กํธ - ์น ์์ผ(ws) ํต์ + useEffect์์ ์น ์์ผ(ws) ์ฌ์ฉ with useRef (0) | 2022.11.07 |
๋ฆฌ์กํธ - ์์ฑ์ ํ ์คํธ๋ก(react-speech-recognition) (0) | 2022.11.04 |
๋ฆฌ์กํธ - UI ํ๋ ์์ํฌ(MUI) (0) | 2022.10.15 |
๋ฆฌ์กํธ - ํ ์คํธ ํ์ (React-Toastify) ๋ชจ๋ (0) | 2022.10.15 |