From df491ac998168194c82b38153c74c12c5d30aacd Mon Sep 17 00:00:00 2001 From: bieshan Date: Tue, 5 Jan 2021 21:54:32 +0900 Subject: [PATCH] fix: onend function :neckbeard: fix: logic :neckbeard: fix: logic :neckbeard: fix: logic :neckbeard: fix: logic :neckbeard: fix: format :neckbeard: fix: logic :neckbeard: fix: logic :neckbeard: fix: logic :neckbeard: fix: logic :neckbeard: fix: logic :neckbeard: --- pages/index.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pages/index.js b/pages/index.js index 718faa5..1645c8c 100644 --- a/pages/index.js +++ b/pages/index.js @@ -53,14 +53,21 @@ const Home = () => { setDetecting(true); }; recognizerRef.current.onend = () => { - if (android) { + setDetecting(false); + if (android && !alertOpen) { recognizerRef.current.start(); } }; recognizerRef.current.onresult = event => { [...event.results].slice(event.resultIndex).forEach(result => { const transcript = result[0].transcript; + setTranscript(transcript); if (result.isFinal) { + if (tagValues.some(value => transcript.includes(value))) { + // NOTE: ユーザーが効果音を追加しなければデフォルトを鳴らす + (userMusic || music).play(); + setAlertOpen(true); + } // 音声認識が完了して文章が確定 setFinalText(prevState => { if (android) { @@ -71,15 +78,7 @@ const Home = () => { }); // 文章確定したら候補を削除 setTranscript(""); - return; - } - // 音声認識の途中経過 - if (tagValues.some(value => transcript.includes(value))) { - // NOTE: ユーザーが効果音を追加しなければデフォルトを鳴らす - (userMusic || music).play(); - setAlertOpen(true); } - setTranscript(transcript); }); }; });