【问题标题】:SpeechRecognizer with Google Search version 3.6.14.1337016 can't recognize other voice language except default使用 Google 搜索版本 3.6.14.1337016 的 SpeechRecognizer 无法识别除默认以外的其他语音语言
【发布时间】:2014-09-22 01:55:49
【问题描述】:

您可以在最新的谷歌搜索设置上设置多种语音语言。 但问题是 SpeechRecognizer 只能识别默认语言。

我实现了...

private SpeechRecognizer mGoogleRecognizer; 

private void startRecognition() {
    mGoogleRecognizer = SpeechRecognizer.createSpeechRecognizer(m_context);
    mGoogleRecognizer.setRecognitionListener(this);
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "ko-KR");
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Intellectual Personal Assistant");
    intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, m_context.getPackageName());
    mGoogleRecognizer.startListening(intent);
}

@Override
public void onResults(Bundle results) {
    ArrayList<String> resultList = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
}

我请求识别韩语,但结果列表仅包含默认语言的结果。

我怎样才能得到正确的结果?

谢谢。

【问题讨论】:

  • 此问题已在最新的 Google 搜索中得到修复。 :)

标签: android speech-recognition


【解决方案1】:

尽管这在任何地方都没有记录,但我发现,随着在上次更新中引入多语言支持,Google 搜索现在在 RecognizerIntent 中采用了一个新的附加功能,称为“android.speech.extra”。 EXTRA_ADDITIONAL_LANGUAGES”。正如其名称所暗示的,它是一个字符串数组,可用于指定除主要语言之外的其他语言,仍由 RecognizerIntent.EXTRA_LANGUAGE 给出。问题是如果这个新的额外内容没有随它一起提供,谷歌搜索会忽略 RecognizerIntent.EXTRA_LANGUAGE。这意味着在您的代码中添加以下行足以解决问题:

intent.putExtra("android.speech.extra.EXTRA_ADDITIONAL_LANGUAGES", new String[]{});

但请注意,即使这样可行,也不会改变 Google 搜索中存在错误的事实。正如我之前所说,这个新的额外内容没有在任何地方记录,而且 Google 搜索没有遵循 Android 语音识别 API 的规范。因此,作为 Google 搜索和 Android 的开发者,Google 应该:

  1. 更改Android中语音识别API的规范, 但这会破坏向后兼容性。

  2. 更新 Google 搜索应用程序,使其正确地遵循 当前规范。

第二个选项显然是最合乎逻辑的,因此我们应该让 Google 知道这个错误,以便他们修复它。看起来官方的 Google 搜索帮助论坛是执行此操作的正确位置,但到目前为止,Google 中没有人关注我为它创建的主题 (https://productforums.google.com/forum/#!topic/websearch/PUjEPmdSzSE/discussion)。因此,如果您遇到此问题,请在此处发布您的投诉以引起 Google 的注意,让我们看看我们是否可以通过这种方式获得官方答复。

【讨论】:

  • 最新版本的 Android 还需要这个吗?
【解决方案2】:

我在我的应用程序中发现了同样的问题。

我只是试试。

  1. 删除 Google 搜索 3.6 更新。这是工作。
  2. 更改默认语言。我只能使用默认语言。

我正在等待 Google 再次更新。

这是此案例的问题:https://code.google.com/p/android/issues/detail?id=75347

支持网站上的链接:https://productforums.google.com/d/topic/websearch/PUjEPmdSzSE/discussion

【讨论】:

  • 是否有不涉及降级重要应用程序的解决方案?
  • 我还没有找到其他解决方案。
猜你喜欢
  • 2020-03-30
  • 2021-09-28
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 2013-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多