如何在Android中使用PocketSphinx进行多个关键字激活而无需转到菜单



我希望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。 我是安卓新手,我搜索了几天来寻找答案。有人,请帮忙。此语音识别对于我的应用程序是必需的。

你问了两个问题,所以我会分点回答。

  • 我想在识别三个关键字时直接调用一些方法
    如果您查看演示应用程序的源代码,您会注意到有两个函数正在获得控制权并对假设(识别关键字(执行计算 -onPartialResult()onResult。前者用于获取有关正在说出的单词的快速更新,而后者用于在识别器停止后获取预测,即在说出所有关键字并且用户已停止识别器之后。
    因此,首先您需要决定是要使用onPartialResult()还是onResult()。之后,请注意这两种方法都对识别的文本执行一些操作。onPartialResult()呼叫switchSearch(),而onResult()呼叫makeText()。在您的情况下,您希望在识别您的三个关键字时调用某个函数。在同一类中创建一个函数,并像通常在程序的其他任何地方调用该函数一样调用它!
  • 我也不知道我是否需要像在演示应用程序中那样使用 switchSearch(( 和KWS_SEARCH。
    在这种情况下,您应该查看尼古拉·什米列夫在上面的评论中提出的答案。它明确详细介绍了如何在Android中识别几个关键字。

相关内容

  • 没有找到相关文章

最新更新