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

问题描述 投票:0回答:1

我希望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的新手,我搜索了几天的答案。有人,请帮忙。这个语音识别对我的应用程序是必要的。

java android speech-recognition pocketsphinx pocketsphinx-android
1个回答
1
投票

你问过两个问题,所以我会用两点来回答它们。

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