下面是我的代码。
//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);问题是,当我用不同的手机使用程序时,它与我的手机一起工作well.But,它总是选择默认语言。而很少的时候,它只是混合识别语言。就像一半的结果是在一种语言,另一半在另一种语言。我不知道是系统的原因还是代码本身的原因?另外,它在我的手机上也很好用。会不会是某些设置的原因?我怎样才能克服和解决它呢?我需要告诉用户,如果他们有同样的问题,应该如何解决。
发布于 2014-08-27 05:05:51
首先,在使用SpeechRecognizer时存在问题。
在这种情况下,只有解决方案是删除谷歌搜索,因为它是与谷歌搜索更新。这样做,我们将删除所有更新。这在我自己的设备上有效。
但在我看来,实际上,的小更新不应该改变api行为。我希望有程序的方法来解决这个问题,或者会有新的更新来解决这个问题。
以下是无文档的编程解决方案:
intent.putExtra("android.speech.extra.EXTRA_ADDITIONAL_LANGUAGES",新String[]{};
其他解决方案只是调用活动来识别。这样,谷歌的对话活动就会被看到,但不会出现语言问题。
由我问题发行的杂志
artetxem 问题在google搜索上打开的问题
发布于 2018-01-10 06:54:23
Hi @VSL i在设置印地语而不是英语方面也面临着同样的问题,但是语音识别器总是采用我的Android操作系统默认语言,即英语。但是下面的代码解决了我的问题
Intent recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "hi");
recognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, InteractionActivity.this.getPackageName());
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 3);
speech.startListening(recognizerIntent);https://stackoverflow.com/questions/25503059
复制相似问题