【问题标题】:Start speech recognition thru voice with phrase like "Ok Google"?使用“Ok Google”之类的短语通过语音开始语音识别?
【发布时间】:2016-04-07 02:30:56
【问题描述】:

我正在构建一个使用语音命令来执行某些功能的应用。我得到了一些来自here的代码

private static final int SPEECH_REQUEST_CODE = 0;

// Create an intent that can start the Speech Recognizer activity
private void displaySpeechRecognizer() {
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
// Start the activity, the intent will be populated with the speech text
    startActivityForResult(intent, SPEECH_REQUEST_CODE);
}

// This callback is invoked when the Speech Recognizer returns.
// This is where you process the intent and extract the speech text from the intent.
@Override
protected void onActivityResult(int requestCode, int resultCode,
        Intent data) {
    if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) {
        List<String> results = data.getStringArrayListExtra(
                RecognizerIntent.EXTRA_RESULTS);
        String spokenText = results.get(0);
        // Do something with spokenText
    }
    super.onActivityResult(requestCode, resultCode, data);
}

但是,这种方法需要通过单击按钮来激活。有没有办法通过语音命令启动语音识别器?就像 Google Now 一样,您只需说“Ok Google”,它就会打开语音识别器活动并收听命令?

谢谢。

【问题讨论】:

    标签: android speech-recognition


    【解决方案1】:

    您需要编写一个用于连续语音识别的服务。并根据您在语音中获得的输入检测您的触发短语并采取行动。

    这可能会占用大量内存,您需要通过在适当的时间和屏幕上启动和停止服务来进行优化。

    this question 的公认答案提供了实现类似目标的方法。

    【讨论】:

      【解决方案2】:

      在服务的帮助下进行连续语音识别:-

      Android Speech Recognition as a service on Android 4.1 & 4.2

      GitHub 示例:-

      https://github.com/galrom/ContinuesVoiceRecognition

      回应像 Ok Google 这样的魔法词

      https://github.com/cmusphinx/pocketsphinx-android-demo

      我已经为 Banking Project 实现了相同的功能。我在 device shake

      上触发了语音到文本识别

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-02-23
        • 1970-01-01
        • 2011-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        相关资源
        最近更新 更多