【问题标题】:Select other languages for speech recognition选择其他语言进行语音识别
【发布时间】:2016-05-18 10:57:57
【问题描述】:

我使用此代码修改语音识别的不同语言,如您所见,我使用 Spinner 选择其他语言。

public static String country;

语音识别码:

String name = country;
                Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);


intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                        RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
                intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, name);

在我的 Spinner 中设置语言:

public String LanguageSelection() {
        language_select_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
               // final String country;
                switch (position){
                    case 0:
                        country="en"; // english
                        break;

                    case 1:
                        country="it"; // itally
                        break;
                }
            }

但这在意大利不起作用。
它只识别英语。

我该如何解决?

【问题讨论】:

  • it doesn't work in Italy 是什么意思?它的工作(或不工作)独立于您所在的位置。
  • 很明显,您需要在设备上安装所有想要使用的语言。并相应地设置区域设置,当您通过 Spinner 选择选择一个时。这两项任务都可以通过编程方式完成。
  • 您的意思是要使用每种语言,必须在设备上安装该语言?但我一般都想这样做。
  • 当然语言必须安装在设备上。或者它根本不起作用。但是,如果当前设备上缺少它,您可以通过编程方式下载它。

标签: android speech-recognition android-spinner


【解决方案1】:

要选择一种语言,您需要将其添加到您的意图中,就像您所做的那样。只需使用不同的Locale.YourLanguage 创建一个数组

 Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.JAPANESE);

但是,如果您没有在手机中启用语言包,它将无法正常工作。所以,你能做的最好的事情就是将你的用户重定向到他的手机输入选项,意图是ACTION_INPUT_METHOD_SETTINGS

【讨论】:

  • 你的意思是ACTION_INPUT_METHOD_SETTINGS会检查语言是否没有安装,它去设置安装它?
  • 一般来说,有没有办法识别语音?(不使用谷歌服务器)?
  • ACTION_INPUT_METHOD_SETTINGS 将打开设置菜单,用户必须安装软件包。您可以使用这种方式检查已安装的软件包:stackoverflow.com/questions/17803487/…
  • 您有一些库可以为您提供与 Sphinx 相同的功能。但说实话,质量不是很好。 cmusphinx.sourceforge.net/wiki
猜你喜欢
  • 2019-06-26
  • 1970-01-01
  • 2020-03-30
  • 2023-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多