安卓编程:循环语音识别

3
我想制作一款定制的Android应用程序,以帮助一个身体残疾的人。我需要大量依赖语音识别。这个想法是:
  1. 应用程序(通过语音识别)接受他的语音
  2. 应用程序解析他的语音并执行他的命令(“给爸爸发电子邮件”,“给弗雷德发短信”,“现在几点了?”,以及其他我将添加的控制电视、灯等的功能)
  3. 执行后,应用程序等待下一个命令(回到#1)
我已经完成了#1和#2,但是我无法找到#3的好方法。我不能让Google的语音识别界面无限期地运行,因为可能要等几个小时才有下一个命令。但触发器必须基于声音/语音。必须完全免提。
理想情况下,应用程序只需听取声音,如果该声音超过预先编程的分贝级别,我就会开始语音识别。是否可以不断循环只听一个噪音,然后如果声音够“响亮”,就做出反应呢?
有什么想法吗?
谢谢
2个回答

0

那么这个想法就是你希望声音识别是持续的。这很难做到。但我实现这个的方法是使用:

   try {
       Thread.sleep(4500);
       mSpeechRecognizer.startListening(mSpeechRecognizerIntent);
   }  catch (InterruptedException e) {
        // It depends on your app logic what to do with InterruptedException
        // You can process it or rethrow or restore interrupted flag
   }

onReady之后(如果用户在大约4.5秒内没有说话),它将重置并返回结果。这对我非常有效。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接