Android语音识别的滞后问题

时间:2014-04-12 05:00:49

标签: android android-speech-api

最近有没有人遇到过这个问题?当我停止说话时,我们之间会有很长的延迟。和#39;当Android语音识别停止收听时#39; "沉默期"之前的时间要短得多,现在它真的很长。以前大概是1-2秒,现在大概是10秒。我们的代码中没有任何改变。

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak now...");
startActivityForResult(intent, REQUEST_CODE);

2 个答案:

答案 0 :(得分:1)

这是一个互联网问题。我尝试了三星Galaxy Tab A7。脱机时没有延迟,但是当我连接到互联网时,由于互联网连接不畅而导致延迟。

我通过将值为true的RecognizerIntent.EXTRA_PREFER_OFFLINE添加到我通过的意图中解决了我的问题。

答案 1 :(得分:0)

是的,Android 4.4.2(HTC One M8)存在完全相同的问题。设置intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS,new Long(1000))等选项以缩短收听时间似乎没有任何效果。对于那些不能自动关闭它的旧手机,我曾经在6秒后击落识别对话框,这很难看但工作正常,但现在除非我将超时时间从6秒增加到超过10秒,否则无法识别。那个不可变的10秒默认值似乎也没有记录,所以这一切都变成了试验和错误,以找出跨设备和Android版本的功能。