我正在尝试开发一个使用TTS
引擎和语音识别的酷应用程序。到目前为止还可以,但我想要更多。我想创建一个服务(我认为服务是正确的方式),它总是“听”,当有人说"ok google"
或其他东西时,语音识别就会开始,就像现在的谷歌一样。例如,如果您说"ok google"
google 现在开始。我不知道从哪里开始,所以我直接在这里询问是否可能。我尝试查看此线程 [here](一直在侦听关键字,例如 4.4 上的“Ok google”),最后一个答案谈到了一项服务,正如我所想的那样。有人可以帮我写代码吗?
例如,这是通过点击按钮启动语音识别的代码:
/**
* Instruct the app to listen for user speech input
*/
private void listenToSpeech() {
//start the speech recognition intent passing required data
Intent listenIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
//indicate package
listenIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getClass().getPackage().getName());
//message to display while listening
listenIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Say a word!");
//set speech model
listenIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
//specify number of results to retrieve
listenIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 10);
//start listening
startActivityForResult(listenIntent, VR_REQUEST);
}
您认为可以listenIntent
仅通过语音而不按任何按钮来启动它吗?这就是我的意思。