質問編集履歴

1

質問の追加

2018/10/20 05:59

投稿

monomac
monomac

スコア20

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
- ### 補足情報(FW/ツールのバージョンなど)
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
+ どなたか教えていただけると助かります。