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

要回复问题请先登录注册