2

我一直在研究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);
4

2 回答 2

2

是的,hanifs,这种方法对我也不起作用。

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

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”变量,应该没问题!

于 2014-02-15T01:46:13.913 回答
1

你现在唯一能做的就是

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

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

于 2013-05-02T23:19:48.353 回答