voz que para now hola hacer hable google descargar cómo buscador asistente activar android speech-recognition google-now

android - que - google now



Aplicación de Android integrada con OK Google (3)

A través de la API de acciones de voz , su aplicación puede registrarse para acciones del sistema , una de las cuales es "buscar" (por lo que podría hacer "buscar alguna pregunta o comando en la aplicación").

En el pasado, algunos desarrolladores podían enviar una solicitud de acción de voz personalizada . Tras la aprobación, los usuarios podrían realizar una acción específica con su aplicación a través de la voz. Esto ya no es una opción.

¿Hay una manera de emitir un comando de voz algo como:

OK GOOGLE ASK XXX Algunas preguntas o comandos específicos de la aplicación

Y haga que inicie "APP" con el texto reconocido: "Algunas preguntas o comandos específicos de la aplicación"

Mi aplicación tiene reconocimiento de voz como un servicio ... pero cuando uso mi aplicación no puedo hacer preguntas que OK pueda manejar ...


En realidad, esto es bastante simple. Con la API de acciones de voz incorporada, puede hacerlo tanto en modo en línea como fuera de línea. Aquí una breve demostración para ti,

Primero pida al usuario que ingrese alguna voz,

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

Esto abrirá la pantalla incorporada de entrada de voz de Google y tomará las entradas de voz. Ahora, después de una entrada de voz, verifique el resultado y convierta la voz en una cadena convertida,

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case REQ_CODE_SPEECH_INPUT: { if (resultCode == RESULT_OK && null != data) { ArrayList<String> result = data .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); // here the string converted from your voice String converted_text = (result.get(0); } break; } } }

Ahora puede manipular la cadena de la forma que desee o compararla con cadenas de acción predefinidas para ejecutar una acción específica y muchas más ...

ACTUALIZAR:

Para hacer que la aplicación funcione después de decir un comando específico, por ejemplo, "OK Google" , simplemente defina una Cadena estática llamada "OK Google" y compare cada entrada de voz con esta Cadena predefinida. Si coincide con la cadena "OK Google" , muévete a los siguientes mundos y ejecuta las instrucciones. Por ejemplo,

"OK Google habla la hora actual"

Aquí puede comparar las dos primeras palabras "OK Google" si eso coincide con su movimiento de cadenas predefinido a las siguientes palabras, que es "hablar la hora actual" . Para esto, puede guardar un conjunto de arreglos que contengan sus comandos, como "hablar la hora actual" , hablará la hora.

Para que parezca más inteligente, puede implementar un servicio en segundo plano y escuchar la entrada de voz del usuario.

PD: No estoy seguro de si esa sería una forma eficiente, pero es solo otro método para hacer esto.


Integrar "OK ​​Google" en su aplicación es fácil con los siguientes dos pasos.

Primero debemos declarar en el archivo manifiesto.

<activity.. <intent-filter> <action android:name="com.google.android.gms.actions.SEARCH_ACTION" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> />

Ahora tenemos que declarar en la Actividad onCreate.

if (getIntent().getAction() != null && getIntent().getAction().equals("com.google.android.gms.actions.SEARCH_ACTION")) { query = getIntent().getStringExtra(SearchManager.QUERY); Log.e("Query:",query); //query is the search word }

El usuario debe seguir la sintaxis para detectar mediante "Ok google". Cuando un usuario dice "OK Google, busque la frase en el nombre de la aplicación ", Google primero verifica si hay una aplicación llamada nombre de la aplicación que haya declarado ser capaz de hacerlo. manejo de tales consultas.