Подтвердить что ты не робот

Начать распознавание речи через голос фразой типа "О'кей, Google"?

Я создаю приложение, которое использует голосовые команды для выполнения определенных функций. Я получил несколько кодов, работающих от здесь

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, где вы можете просто сказать "О'кей, Google", тогда он откроет активность речевого распознавателя и послушает команды?

Спасибо.

4b9b3361

Ответ 1

Вам нужно будет написать услугу для непрерывного распознавания речи. И на основе входных данных, которые вы получаете, поскольку речь обнаруживает вашу триггерную фразу и принимает меры.

Это может быть интенсивным в памяти, и вам нужно будет оптимизировать, запустив и остановив службы в соответствующие моменты времени и экраны.

Принятый ответ на этот вопрос предоставляет средства для достижения подобной вещи.

Ответ 2

Непрерывное распознавание речи с помощью Службы: -

Android Speech Recognition как услуга на Android 4.1 и 4.2

Пример GitHub: -

https://github.com/galrom/ContinuesVoiceRecognition

Ответ на волшебные слова, такие как Ok Google

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

Я реализовал ту же функцию для Bank Project. Я запускал речевое распознавание текста на сотрясение устройства