首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android语音超时-语音识别

Android语音超时-语音识别
EN

Stack Overflow用户
提问于 2019-01-15 10:12:15
回答 1查看 1.5K关注 0票数 1

我正在构建一个通过语音识别收集用户数据的应用程序。我的问题是,在调用语音超时错误之前,只需大约5秒,就可以阻止语音识别器识别任何其他声音。我的问题是:,如何增加超时错误的时间,或者如何停止错误。

我的代码:

代码语言:javascript
复制
SpeechRecogniser sr = createSpeechRecogniser(this)
recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE,"en");

recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 3);

sr.startListening(recogniserIntent);
sr.setOnRecognitionListener(new OnRecognitionListener(){
    //implenent all its methods
    onError(int code){
        switch(code){
            case ERROR_SPEECH_TIMEOUT:
            //this is where the error is called and stops the speech recogniser
            //i want the time for this error to be increased
            break;

            }
        }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-15 11:41:27

这些可选参数有助于延长时间,如果需要超出(服务通过此参数尊重的时间有限制),则必须覆盖stackoverflow.com. you /a/49810988/806328中的识别器侦听器。

代码语言:javascript
复制
recognizerIntent.putExtra(RecognizerIntent.ACTION_RECOGNIZE_SPEECH, RecognizerIntent.EXTRA_PREFER_OFFLINE);
            recognizerIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, 1000);
            recognizerIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS, 1000);
            recognizerIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS, 1500);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54196738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档