我一直在研究 android 中的语音识别 API,发现当语言设置更改时,语音结果会有所不同,有没有办法以编程方式设置它?或者是否有意在语音语言设置屏幕上吃午餐?或者还有什么?注意:我尝试额外使用此 Intent :
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。 只有应用所有这三个附加功能,我才成功强制 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”变量,应该没问题!
关于java - 如何在 Android 应用程序的语音识别中传递语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16296947/