質問編集履歴
1
質問の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,9 +4,7 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
APIのサンプルコードがあったためなんとか音声認識を使えるところまでは出来たのですが、
|
7
|
+
APIのサンプルコードがあったためなんとか音声認識を使えるところまでは出来たのですが、今のままでは、画面の認識停止(Stop)を押すまでずっと認識し続けてしまうため
|
8
|
-
|
9
|
-
今のままでは、画面の認識停止(Stop)を押すまでずっと認識し続けてしまうため
|
10
8
|
|
11
9
|
「ユーザーの声が無くなって○秒立ったら音声認識を停止!」
|
12
10
|
|
@@ -40,8 +38,6 @@
|
|
40
38
|
|
41
39
|
|
42
40
|
|
43
|
-
![イメージ説明](06491eaa5e9998392e6b08d10b5aeb5c.jpeg)
|
44
|
-
|
45
41
|
|
46
42
|
|
47
43
|
|
@@ -300,18 +296,90 @@
|
|
300
296
|
|
301
297
|
```
|
302
298
|
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
299
|
+
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
追記
|
310
|
+
|
311
|
+
|
312
|
+
|
313
|
+
ネット上で検索していたところ、
|
314
|
+
|
315
|
+
[https://stackoverflow.com/questions/45111072/swift-stop-speech-recognition-after-x-seconds-of-silence#](https://stackoverflow.com/questions/45111072/swift-stop-speech-recognition-after-x-seconds-of-silence#)
|
316
|
+
|
317
|
+
上記のサイトで同じ内容の記事を見つけたのですが、コードの内容が理解できず困っています。
|
318
|
+
|
319
|
+
|
320
|
+
|
321
|
+
```ここに言語を入力
|
322
|
+
|
323
|
+
recognitionTask = speechRecognizer?.recognitionTask(with: recognitionRequest, resultHandler: { (result, error) in
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
var isFinal = false
|
328
|
+
|
329
|
+
|
330
|
+
|
331
|
+
if result != nil {
|
332
|
+
|
333
|
+
self.inputTextView.text = result?.bestTranscription.formattedString
|
334
|
+
|
335
|
+
isFinal = (result?.isFinal)!
|
336
|
+
|
337
|
+
}
|
338
|
+
|
339
|
+
if let timer = self.detectionTimer, timer.isValid {
|
340
|
+
|
341
|
+
if isFinal {
|
342
|
+
|
343
|
+
self.inputTextView.text = ""
|
344
|
+
|
345
|
+
self.textViewDidChange(self.inputTextView)
|
346
|
+
|
347
|
+
self.detectionTimer?.invalidate()
|
348
|
+
|
349
|
+
}
|
350
|
+
|
351
|
+
} else {
|
352
|
+
|
353
|
+
self.detectionTimer = Timer.scheduledTimer(withTimeInterval: 1.5, repeats: false, block: { (timer) in
|
354
|
+
|
355
|
+
self.handleSend()
|
356
|
+
|
357
|
+
isFinal = true
|
358
|
+
|
359
|
+
timer.invalidate()
|
360
|
+
|
361
|
+
})
|
362
|
+
|
363
|
+
}
|
364
|
+
|
365
|
+
})
|
366
|
+
|
367
|
+
```
|
368
|
+
|
369
|
+
上記のコードの中の
|
370
|
+
|
371
|
+
```ここに言語を入力
|
372
|
+
|
373
|
+
self.textViewDidChange(self.inputTextView)
|
374
|
+
|
375
|
+
```
|
376
|
+
|
377
|
+
このtextViewDidChangeについて、公式HPの説明を読んでもどういう意味なのか理解できず困っています。
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
[https://developer.apple.com/documentation/uikit/uitextviewdelegate/1618599-textviewdidchange](https://developer.apple.com/documentation/uikit/uitextviewdelegate/1618599-textviewdidchange)
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
どなたか教えていただけると助かります。
|