Как использовать голосовой поиск и VoiceRecognition на Android? - PullRequest
9 голосов
/ 01 апреля 2011

Я хочу использовать VoiceRecognition в своем приложении, но это приложение должно установить голосовой поиск.

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

Что я могу сделать?

Ответы [ 5 ]

4 голосов
/ 15 апреля 2012

Используйте RecognizerIntent для запуска распознавателя речи, установленного на вашем устройстве

0 голосов
/ 13 февраля 2017

Вот Простой способ обработки голосового поиска

Шаг 1 Вызовите этот метод при нажатии кнопки

public void startVoiceRecognition() {
    Intent intent = new Intent("android.speech.action.RECOGNIZE_SPEECH");
    intent.putExtra("android.speech.extra.LANGUAGE_MODEL", "free_form");
    intent.putExtra("android.speech.extra.PROMPT", "Speak Now");
    this.mContainerActivity.startActivityForResult(intent, 3012);
}

Шаг 2 Переопределить метод onActivityResult

@ Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 3012 && resultCode == RESULT_OK) {
        ArrayList < String > matches = data.getStringArrayListExtra("android.speech.extra.RESULTS");
        String result= matches.get(0);
        //Consume result 
        edittext.setText(result);
    }
}

Вот и все, СДЕЛАНО

0 голосов
/ 15 апреля 2012
0 голосов
/ 06 июля 2011

Я нашел этот урок:

http://www.jameselsey.co.uk/blogs/techblog/android-how-to-implement-voice-recognition-a-nice-easy-tutorial/

надеюсь, это поможет.

0 голосов
/ 25 апреля 2011

Это можно сделать за несколько простых шагов:

  1. Создайте какую-то кнопку в своей деятельности и поместите следующий код в его OnClickListener:

    // Определяем MY_REQUEST_CODE как int-константу в вашей деятельности ... Я использую int в 10000-х годах startVoiceRecognitionActivity (MY_REQUEST_CODE, «Скажи что-нибудь.»);

  2. Переопределите метод onActivityResult () в своей деятельности. В реализации поместите блок переключателя или оператор if для запуска некоторой логики, когда аргумент requestCode соответствует вашей константе MY_REQUEST_CODE. Логика, подобная следующей, даст вам список результатов, которые активность распознавания речи показала:

    ArrayList keywordMatches = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS);

  3. Вы можете получить 0 или много совпадений от распознавателя. Обязательно разберитесь со всеми делами.

  4. В некоторых случаях распознаватель речи может даже не присутствовать на устройстве. Попробуйте обработать это там, где вы вызываете startVoiceRecognitionActivity ().

...