我一直在android中研究语音识别API,发现当语言设置更改时,语音结果会发生变化,有没有办法以编程方式设置它?或者是否打算在语音语言设置屏幕上午餐?或者还有什么?
笔记:
我尝试额外使用这个意图:
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "en-US");
但没有效果
正如 pargat 所说,这将做到这一点:
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");
此外,您的应用程序可以通过发送RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS
像这样命令广播:
Intent detailsIntent = new Intent(RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS);
sendOrderedBroadcast(
detailsIntent, null, new LanguageDetailsChecker(), null, Activity.RESULT_OK, null, null);
其中 LanguageDetailsChecker 是这样的:
public class LanguageDetailsChecker extends BroadcastReceiver
{
private List<String> supportedLanguages;
private String languagePreference;
@Override
public void onReceive(Context context, Intent intent)
{
Bundle results = getResultExtras(true);
if (results.containsKey(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE))
{
languagePreference =
results.getString(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE);
}
if (results.containsKey(RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES))
{
supportedLanguages =
results.getStringArrayList(
RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES);
}
}
}
完整的代码请查看这个 github 项目:https://github.com/gast-lib
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)