我正试图将注意力集中在 SpeechRecognizer 上。我有一个带有我自己的识别侦听器的 SpeechRecognizer:
rec = SpeechRecognizer.createSpeechRecognizer(this);
rec.setRecognitionListener(new RecognitionListener() {
//Lots of overrides that work perfectly fine
});
当我使用 rec.startListening(intent); 启动它时,Wich 工作正常;但我的意图恰好有一些额外的东西:
intent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
intent.putExtra(RecognizerIntent.EXTRA_RESULTS_PENDINGINTENT, true);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "de-DE");
intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 3);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
所有这些,识别器在使用 rec.startListening(intent); 启动时完全忽略。
另一方面,当我使用 startActivityForResult(intent, 1000, intent.getExtras()); 要开始识别,来自 RecognitionLister 的代码将被完全忽略。
如何使用自己的 RecognitionListener 和 Intent-extras 开始识别?
莱娜
==============
PS:我现在已经意识到 startActivityForResult 绝对没有理由使用 ReconitionListener 的代码......但我仍然很困惑为什么 startListening 应该忽略额外内容。