微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android:语音识别是否明确停止?

如何解决Android:语音识别是否明确停止?

| 我知道您可以通过调用以下命令来增加考虑输入完成的时间:
intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS,5000);
但是,在启动Android语音识别活动之后,有一种方法可以明确地将其停止,例如在收到“关键字”之后。     

解决方法

@迈克是正确的。 这有效:
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS,new Long(2000)); 
您已指定一个Long。仅输入数字(\“ 2000 \”)会被解释为Integer,这是无效的。     ,您可以通过将SpeechRecognizer类与自定义UI结合使用来代替RecognizerIntent意向来实现。 SpeechRecognizer类具有stopListening()方法,一旦用户按下“停止”按钮,便可以显式调用该方法。 另一种尝试的方法是使用EXTRA_PARTIAL_RESULTS请求部分结果,并在RecognitionListener的onPartialResults回调中搜索您的“ stop关键字”,然后在检测到回调时停止stopListening()。     ,找到了! =) 您可以在
SpeechRecognizer object
上使用
.stopListening()
SpeechRecognizer hear = NULL;

//set up the recognizer and intent

hear.stopListening();
我将其放在可运行的语言中,以便可以控制它结束语音输入的时间,如果语音输入结束,则删除了该可运行语言的回调,因此它不会尝试停止已经停止的语音输入(或附带损害)并结束之后的语音输入)     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。