如何在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());
如果识别器引擎不支持该语言,它可能无法工作。