编程语言
首页 > 编程语言> > Android:如何使用我的应用程序中的命令语音打开语音输入

Android:如何使用我的应用程序中的命令语音打开语音输入

作者:互联网

使用此代码:

private void promptSpeechInput() {
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
            getString(R.string.speech_prompt));
    try {
        startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
    } catch (ActivityNotFoundException a) {
        Toast.makeText(getApplicationContext(),
                getString(R.string.speech_not_supported),
                Toast.LENGTH_SHORT).show();
    }
}

使用不同的方式(按钮事件,手势,生命周期)我可以调用此方法打开语音输入提示,就像我点击谷歌搜索字段中的麦克风图标一样.
好的,那很好.

但现在,我需要使用命令语音调用此方法.就像谷歌现在一样,我们说“Ok Google”并出现语音输入提示.我想在我的应用程序中执行此操作.例如,我在主要活动中,我说“听我说”,方法promptSpeechInput被调用.

我怎样才能做到这一点?

感谢帮助.

解决方法:

据我所知,你不能宣布自己的唤醒词 – 你坚持使用OK谷歌.您可以使用LychmanIT引用的语音操作API,但这只会在表示确定Google之后处理意图.

CMUSphynx可能值得研究.它允许您定义自定义侦听器,但不是Google认可的此工作流程解决方案,因此根据您的要求,它可能不适合您.我用它做了一些成功的原型设计 – 它运作得很好.

标签:android,voice-recognition,google-now
来源: https://codeday.me/bug/20190623/1267756.html