@@ -42,10 +42,12 @@ const Home = () => {
42
42
recognizerRef . current . lang = "ja-JP" ;
43
43
recognizerRef . current . interimResults = true ;
44
44
recognizerRef . current . continuous = true ;
45
+ recognizerRef . current . maxAlternatives = 1 ;
45
46
recognizerRef . current . onstart = ( ) => {
46
47
setDetecting ( true ) ;
47
48
} ;
48
49
recognizerRef . current . onend = ( ) => {
50
+ setTranscript ( "" ) ;
49
51
setDetecting ( false ) ;
50
52
} ;
51
53
recognizerRef . current . onresult = event => {
@@ -57,15 +59,15 @@ const Home = () => {
57
59
return prevState + transcript ;
58
60
} ) ;
59
61
setTranscript ( "" ) ;
60
- } else {
61
- // 音声認識の途中経過
62
- if ( tagValues . some ( value => transcript . includes ( value ) ) ) {
63
- // NOTE: ユーザーが効果音を追加しなければデフォルトを鳴らす
64
- ( userMusic || music ) . play ( ) ;
65
- setAlertOpen ( true ) ;
66
- }
67
- setTranscript ( transcript ) ;
62
+ return ;
68
63
}
64
+ // 音声認識の途中経過
65
+ if ( tagValues . some ( value => transcript . includes ( value ) ) ) {
66
+ // NOTE: ユーザーが効果音を追加しなければデフォルトを鳴らす
67
+ ( userMusic || music ) . play ( ) ;
68
+ setAlertOpen ( true ) ;
69
+ }
70
+ setTranscript ( transcript ) ;
69
71
} ) ;
70
72
} ;
71
73
} ) ;
@@ -136,11 +138,11 @@ const Home = () => {
136
138
</ Grid >
137
139
< Box m = { 2 } >
138
140
< Grid container alignItems = "center" justify = "center" >
139
- < Grid item >
141
+ < Grid item xs = { 3 } >
140
142
< Button
141
143
variant = "outlined"
142
144
disabled = { detecting }
143
- color = "secondary "
145
+ color = "primary "
144
146
size = "large"
145
147
onClick = { ( ) => {
146
148
recognizerRef . current . start ( ) ;
@@ -149,6 +151,20 @@ const Home = () => {
149
151
{ detecting ? "検知中..." : "検知開始" }
150
152
</ Button >
151
153
</ Grid >
154
+ < Grid item xs = { 6 } />
155
+ < Grid item xs = { 3 } >
156
+ < Button
157
+ variant = "outlined"
158
+ disabled = { ! detecting }
159
+ color = "secondary"
160
+ size = "large"
161
+ onClick = { ( ) => {
162
+ recognizerRef . current . onend ( ) ;
163
+ } }
164
+ >
165
+ { detecting ? "検知停止" : "検知待ち" }
166
+ </ Button >
167
+ </ Grid >
152
168
</ Grid >
153
169
</ Box >
154
170
</ Container >
0 commit comments