1

随着最近的谷歌应用更新(6.14.20.21.arm),谷歌语音识别器停止工作。如果您在识别器启动后几秒钟内做出响应,onResult则调用侦听器。但是如果我们不响应,并且没有回调被调用。onError用于调用的回调SpeechRecognizer.ERROR_SPEECH_TIMEOUT

有没有人有这个问题?

使用RecognizerIntent.ACTION_RECOGNIZE_SPEECHIntent 的同样问题。onActivityResult如果没有响应,则不会调用。它曾经超时,现在停止工作。

这就是我开始活动的方式:

    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL , RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE , this.getPackageName());
    startActivityForResult(intent , VOICE_REQUEST_CODE);

onActivityResult

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)  {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == VOICE_REQUEST_CODE && resultCode == RESULT_OK) {
        ArrayList<String> stringArrayListExtra = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
        if(stringArrayListExtra != null && !stringArrayListExtra.isEmpty()) {
            voiceBuilder.append(stringArrayListExtra.toString());
            voiceBuilder.append("\n\n");
        }
    }
}

我在这里有示例项目https://github.com/libinbensin/GoogleVoiceTest-

4

0 回答 0