SpeechRecognizer的EXTRA_LANGUAGE_PREFERENCE?

时间:2012-06-04 23:57:35

标签: android speech-recognition

强制使用RecognizerIntent的特定语言非常简单,如this answer中所述。

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "en-US");

但只有intent实例化的类型为RecognizerIntent时才有效。

在我的应用程序中,我使用较低级SpeechRecognizer,即:

  Intent intent = new Intent(SpeechRecognizer.RESULTS_RECOGNITION);

试图强迫上面描述的语言根本不起作用。

以编程方式设置SpeechRecognizer的语言首选项的正确方法是什么?

这有可能吗?

1 个答案:

答案 0 :(得分:1)

语言偏好应该有效。

请发布更多代码。

您仍然应该像这样创建Intent

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

不喜欢这样:

 Intent intent = new Intent(SpeechRecognizer.RESULTS_RECOGNITION);

然后你必须直接调用SpeechRecognizer课程。

你正在那样做吗?

供参考,请参阅此coderecognizeSpeechDirectly()方法。