如何在 android 中使用 pocketsphinx 进行多个关键字激活而无需进入菜单

how to use pocketsphinx in android for multiple keyword activation without going to menu

我希望 pocketsphinx 监听某些关键字并执行相应的操作,而不是像他们的演示应用程序那样转到菜单。我有三个关键词

private static final String KEYPHRASE1 = "good morning";
private static final String KEYPHRASE2 = "good evening";
private static final String KEYPHRASE3 = "good night";

这是我的onPartialResult()

 @Override
public void onPartialResult(Hypothesis hypothesis) {
    if (hypothesis == null)
        return;

    String text = hypothesis.getHypstr();
   }

我想在识别三个关键字的时候直接调用一些方法。我也不知道我是否需要像在演示应用程序中那样使用 switchSearch()KWS_SEARCH。 我是 android 的新手,我搜索了好几天才找到答案。有人,请帮忙。这种语音识别对我的应用程序来说是必需的。

你问了两个问题,我会一一回答。

  • 我想在识别三个关键字的时候直接调用一些方法
    如果您查看 demo app's source code,您会注意到有两个函数正在对假设(已识别的关键字)进行控制和计算 - onPartialResult()onResult。前者用于快速更新正在说出的单词,而后者用于在识别器停止后获得预测,即在说出所有关键字并且用户停止识别器后。
    因此,首先您需要决定是要使用 onPartialResult() 还是 onResult()。之后,请注意这两种方法都对识别的文本执行了一些操作。 onPartialResult() 调用 switchSearch()onResult() 调用 makeText()。在您的情况下,您也想在识别出您的三个关键字时调用某个函数。在同一个 class 中创建一个函数并像通常在程序的其他任何地方调用该函数一样调用它!
  • 我也不知道我是否需要像在演示应用程序中那样使用 switchSearch() 和 KWS_SEARCH。
    在那种情况下,您应该查看 the answer suggested by Nikolay Shmyrev in the comments above. 它明确详细说明了如何识别 Android 中的几个关键字。