【问题标题】:how to pass language in speech recognition on android apps?如何在 Android 应用程序的语音识别中传递语言?
【发布时间】:2013-04-30 09:50:57
【问题描述】:

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

【问题讨论】:

  • 结果差异很大是什么意思?
  • 实际上我想发送实用的语言区域设置以将默认语言设置为英语以外的语言
  • 你能帮我解决这个问题吗

标签: java android speech-recognition speech speech-to-text


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    你现在唯一能做的就是

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2014-04-12
      • 1970-01-01
      相关资源
      最近更新 更多