如何在Android应用程序的语音识别中传递语言?

我一直在研究Android中的语音识别API,发现语音设置改变时语音结果会有所不同,有没有办法以编程方式设置它? 或者是否打算在语音设置屏幕上午餐? 或者还有什么? 注意:我试图使用这个额外的意图:

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

 Intent detailsIntent = new Intent(RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS); sendOrderedBroadcast(detailsIntent, null, new LanguageDetailsChecker(), null, Activity.RESULT_OK, null, null); 

是的hanifs,这种方法对我也没有用。

我的默认设备语言是英语美国,但我需要SR的意大利语。 只应用所有这三个附加function,我成功​​使用Google Engine(用作我设备的默认语音引擎)来使用意大利语。

 String myLanguage = "it"; //or, Locale.Italian.toString() intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, myLanguage); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, myLanguage); intent.putExtra(RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE, myLanguage); 

试试这种方式自定义你的“myLanguage”变量,应该没问题!

你现在唯一能做的就是

 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, Locale.getDefault()); 

如果识别器引擎不支持该语言,它可能无法工作。