我希望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中识别几个关键字。