【发布时间】:2018-01-10 14:54:23
【问题描述】:
这是我的代码的样子。
//loc will be either "ru-RU" or "en-US"
speechRecognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
speechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
speechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, loc);
speechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, loc);
speechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE, loc);
问题是,当我在不同的手机上使用该程序时,它运行良好。但在我的手机上,它总是选择默认语言。极少数情况下,它只是混合识别语言。就像结果的一半是一种语言,另一半是另一种语言。 不知道是系统的原因还是代码本身的原因? 另外,它以前在我的手机上也运行良好。可能是某些设置的原因吗? 我该如何克服和解决它?如果用户遇到同样的问题,我需要知道如何解决它
How can I use voice recognition with other languages android
【问题讨论】:
-
不确定,但您用于识别的语言必须存在于您的设备中(不确定)您可以通过设置在您的设备中找到这些语言
-
当我更改它能够识别的默认语言时。我还检查了其他语言。但问题是我无法更改语言。尽管语言区域设置,它总是选择一个。在其他设备上没有这样的问题
-
这意味着我是对的,您尝试使用的语言未在该设备中安装或配置,您可以先在该设备中下载它,谷歌它怎么做,您会得到答案
-
在设置上有主要语言。它是俄罗斯人,其他人也被检查过。问题是我只能检查一种主要语言。也许我应该以某种方式强制语言环境进入意图。不知道,但它适用于不同的设备。但在我的情况下,它总是回退到默认值
-
即将下载。确实我的设备支持离线识别。我有两种语言。但是程序还是不能选择识别语言。另外,有时它会在一个 lnaugae 中识别一半在另一个中。我检查了谷歌翻译应用程序。但他们的应用程序有效。但似乎他们使用的 api 与 androids 不同
标签: java android speech-recognition