¿Cómo utilizo la búsqueda por voz y VoiceRecognition en Android?

Quiero utilizar VoiceRecognition en mi aplicación, pero esta aplicación necesita instalar la búsqueda por voz.

No quiero que el usuario tenga que instalar otra aplicación y volver a mi aplicación para ejecutarla. Quiero que la búsqueda por voz se instale desde mi aplicación o, alternativamente, me gustaría encontrar un tutorial sobre cómo agregar capacidad de búsqueda de voz a mi aplicación.

¿Que puedo hacer?

Utilice RecognizerIntent para disparar el reconocedor de voz instalado en su dispositivo

Vea este enlace: Cómo usar la intención del reconocedor

Esto se puede hacer en unos sencillos pasos:

  1. Cree algún tipo de botón en su actividad y coloque el código siguiente en su OnClickListener:

    // Define MY_REQUEST_CODE como una constante int en su actividad … Uso ints en la startVoiceRecognitionActivity (MY_REQUEST_CODE, "Diga algo" de 10000s);

  2. Anule el método onActivityResult () en su actividad. En la implementación, coloque una sentencia switch block o if para ejecutar alguna lógica cuando el argumento requestCode coincida con su constante MY_REQUEST_CODE. Una lógica similar a la siguiente le proporcionará la lista de resultados que la actividad de reconocimiento de voz cree haber escuchado:

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

  3. Puede obtener 0 o muchas coincidencias del reconocedor. Asegúrese de manejar todos los casos.

  4. En algunos casos, el reconocedor de voz puede incluso no estar en el dispositivo. Trate de manejar eso donde llama a startVoiceRecognitionActivity ().

Ejemplo de Android VoiceRecognition de código abierto

Esta es una manera sencilla de manejar la búsqueda por voz

Paso 1 Llame a este método al hacer clic en el botón

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); } 

Paso 2 Anulación del método 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); } } 

Eso es todo, hecho

  • El reconocimiento de voz no funciona cuando la voz está bajo grabación
  • Cambiar voz durante la llamada telefónica de Android
  • Discurso a texto en Android
  • Cómo manejar ERROR_RECOGNIZER_BUSY
  • Android SpeechRecognizer: stopListening () contra cancelar ()
  • Biometría de voz para Android
  • Reconocimiento de voz continua Android - Sin lagunas
  • Cambiar la voz de voz predeterminada en texto a voz por opción de pantalla dentro de la aplicación
  • Birmana discurso a la conversión de texto en android?
  • Cómo grabar voz en android?
  • Aplicación para Android con direcciones de voz GPS
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.