0

本答案中所述,为 RecognizerIntent 强制使用特定语言很简单。

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

但这仅在intent实例化的类型为RecognizerIntent时才有效。

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

  Intent intent = new Intent(SpeechRecognizer.RESULTS_RECOGNITION);

并且试图强制使用上述语言根本行不通。

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

这可能吗?

4

1 回答 1

1

语言偏好应该有效。

请发布更多代码。

你仍然应该创建一个Intent这样的:

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

不像这样:

 Intent intent = new Intent(SpeechRecognizer.RESULTS_RECOGNITION);

然后你必须SpeechRecognizer直接调用类。

你这样做吗?

作为参考,请参阅此代码recognizeSpeechDirectly()方法。

于 2012-06-05T08:35:07.507 回答