Cómo tomar dictado de voz en los elementos portátiles de android

Video: Como Redactar un Documento Por Voz - Dictado de Voz

¿Tiene un reloj Android Wear? Si es así, es probable que lo ama, y ​​que ya ha dado cuenta de que no tiene un teclado. Si no es así, intente buscar una. Esperaré.

Si eres un desarrollador de Android Wear, usted debe saber que la mayoría de las aplicaciones en Android Wear son por lo general de sólo lectura. Aplicaciones Android Wear son útiles para recibir notificaciones acerca de las cosas particulares que hay que hacer, pero si usted quiere hacer nada complicado, lo más probable es sacar su teléfono y lo hacen allí en lugar de en su reloj.

El control por voz es una excepción a esta regla emocionante. Con dictado de voz, puede fácilmente “tipo” información en su reloj sin tener que utilizar un teclado.

Aquí, usted aprenderá cómo añadir nuevos elementos a su base de datos con la voz.

Hay tres tipos de control por voz

Android Wear ofrece tres tipos de control de voz fuera de la caja.

  • las acciones de voz proporcionados por el sistema, tales como “Tomar una nota” o “Llamar a un taxi / taxi”.

    Video: Como Escribir Por Voz (Dictar) Sin Internet en Android

  • comandos de voz proporcionados aplicación “Inicio”, tales como “Iniciar Tareas” o “Start MyRunningApp”

  • De forma libre dictado de voz

Las acciones de voz proporcionados por el sistema son los más convenientes para los usuarios. No requieren que el usuario aprenda los nuevos mensajes de voz, y que “sólo el trabajo” desde cualquier lugar. Si uno de Android de acciones integradas de voz que es apropiado para su aplicación, este es el mejor camino a seguir.

Los comandos de voz en “Inicio” app-proporcionada son una forma viable, pero menos potente para agregar comandos de voz para su aplicación. Cada actividad en su aplicación puede tener un nombre de inicio separada especificado por la etiqueta de la actividad. Por ejemplo, si se establece la etiqueta de su actividad a tareas MyTasksApp, entonces su actividad Tareas lanzaría cuando el usuario dice “Inicio MyTasksApp”. A diferencia de las acciones de voz proporcionados por el sistema, que reconocen alternativas comunes a la acción de voz, el usuario debe coincidir con la etiqueta exactamente. Diciendo “Inicio TasksApp” no iniciará su aplicación, por ejemplo.

La opción de dictado de voz de forma libre es una opción muy potente, pero sí requiere que el usuario ya sea en su aplicación con el fin de tomar ventaja de ello. Debido a que no siempre es obvio cómo poner en marcha una aplicación Android Wear, esta opción es buena, pero menos común.

Android Wear viene con una acción proporcionada por el sistema “Tomar una nota”, por lo que vamos a utilizar para agregar una tarea a nuestra aplicación.

Configuración del filtro de Intención

Cuando el usuario dice “Tomar una nota” a su reloj Android, el texto resultante se envía a su aplicación a través de un Intento. Para capturar esa intención, se debe crear una actividad y un filtro intención de que coincida con la intención.

Agrega un TakeVoiceNote actividad a la AndroidManifest.xml de la aplicación de desgaste, y registrar un filtro intención de capturar la SELF_NOTE intención:

Conseguir el texto de voz

Es la cosa más fácil del mundo para obtener la salida de la actividad reconocedor de voz. Sólo tiene que añadir el TakeVoiceNote actividad y recuperar el texto de la intención, así:

clase pública se extiende TakeVoiceNote Actividad {. @Overrideprotected vacío onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState) -string VoiceNote = getIntent () getStringExtra (Intent.EXTRA_TEXT) -}}

¡Eso es! Cualquiera que sea el usuario el que dicho ha sido transcrita y se coloca en el nota de voz variable.

Ahora la parte difícil es qué hacer con ese texto.

Abrir una conexión con Google Play

Las API de acción de voz son bastante simple, pero para usarlos tendrá que configurar los servicios de Play API, y los que son un poco más complicado de usar.

Para añadir Google Play Servicios de Localización API para su proyecto, coloque la siguiente dependencia en su build.config archivo:

dependencias {compile`com.google.android.gms: play-servicios-usables: 6.5.87` }

A continuación, añada lo siguiente a su AndroidManifest.xml:

 android: name ="com.google.android.gms.version" Android: valor ="@ Número entero / GOOGLE_PLAY_SERVICES_VERSION"/ Gt;

Para establecer una conexión con Google Play Services, añada lo siguiente a su actividad:

// losgoogleAPIcliente,parausableserviciosGoogleApiClientgoogleApiClient-@Overridepublic onCreate vacío (Bundle savedInstanceState) {super.onCreate (savedInstanceState) - googleApiClient=nuevoGoogleApiClient.Builder (este) .addConnectionCallbacks (esto) .addOnConnectionFailedListener (esto) .addApi (Wearable.API) .construir()- &hellip -} @ Overridepublic onStart void () {super.onStart () - googleApiClient.connect () -} @Overridepublic anular onStop () { googleApiClient.disconnect () -super.onStop () -}

Recuerde que el ID de aplicación de la aplicación de teléfono y la aplicación de desgaste deben ser los mismos! Si son diferentes, no se establecerá la conexión.

Este código crea un nuevo GoogleApiClient objeto en su onCreate () para conectarse a la servicios de Google Play, y luego intenta conectarse en su onStart () y desconecte en su onStop (). los GoogleApiClient necesita un objeto de devolución de llamada que le informe cuando se ha establecido una conexión, por lo que tendrá que añadir las devoluciones de llamada a su actividad.

public class TakeVoiceNote extiende implementos Actividad GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener{ @Anular públicovacíoonConnected (BundleconnectionHint){ //ConectadoagoogleJugar¡servicios! //Estaesdóndeseráescribirtunuevotareaael //base de datos. } @Anular públicovacíoonConnectionSuspended (intporque){ //losgoogleJugarconexióntieneestadointerrumpido. //InhabilitaralgunaIUcomponentesesedependerengoogle //APIhastaonConnected ()esllamado. // //Estaejemplodoesn`tnecesitarahacercualquier cosaaquí. } @Anular públicovacíoonConnectionFailed (ConnectionResultresultado) { //Estallamar de vueltaesimportanteparamanejoerrores //esemayoocurrirmientrasintentandoaconectarcon //Google. // //porMásinformaciónacerca decómoaencargarse deerrores, //ver //https://developer.android.com/google/auth/api-client.html }}

¡Felicitaciones! Ahora ha configurado correctamente una conexión con los servicios de Play que desconectará automáticamente cuando se detiene su actividad. El siguiente paso es preguntar al teléfono para crear una nueva tarea.

Pidiendo al teléfono para añadir una nueva tarea

Ahora que tiene una conexión con Google Play, el siguiente paso es enviar el texto de voz en su teléfono de modo que el teléfono puede añadir una nueva tarea a su base de datos.

Actualizar el onConnected () método de su actividad a enviar un mensaje a su teléfono con el contenido del dictado de voz:

public class TakeVoiceNote extiende Activityimplements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {// El camino (algo así como un URI) que identifica la operación // desea realizar en el auricular. Private static final String = PATH_ADD_TASK "/agregar tarea"- &hellip- @Anular public void onConnected (Bundle paquete) {Log.d ("TakeVoiceNote", "onConnected") - // El texto de reconocimiento de voz se pasa a través de la // intenciónCadena VoiceNote = getIntent (). GetStringExtra ( Intent.EXTRA_TEXT) -// Convertir la cadena de bytesúltimo byte [] = voiceNoteBytes voiceNote.getBytes (Charset.forName ("utf-8")) -// Obtener una lista de todos los dispositivos que se`re // conectado a. Por lo general, esto va a ser su // teléfono. Cualquier otro dispositivo pasará por alto el mensaje.Wearable.NodeApi.getConnectedNodes (googleApiClient) .setResultCallback (nueva ResultCallback() { @Anular onResult public void (nodos GetConnectedNodesResult)  {para (nodo Node: nodes.getNodes ()) { // enviar el teléfono un mensaje solicitando que // que añadir la tarea a la base de datos Wearable.MessageApi.sendMessage (googleApiClient,node.getId (),PATH_ADD_TASK,voiceNoteBytes) -} terminar()- }} ) - }}

Crear la nueva tarea en el teléfono

Lo único que queda por hacer es escuchar el mensaje en su teléfono para que pueda crear una nueva tarea cuando se le solicite. Esto lo hará con un simple WearableListenerService.

En su aplicación de teléfono, crear una nueva clase llamada AddTaskWearableListenerService y añadir el siguiente código:

public class AddTaskWearableListenerService extendsWearableListenerService {// En caso de coincidir con la cadena TakeVoiceNoteprivate PATH_ADD_TASK static final String = "/agregar tarea"- @ Overridepublic vacío onMessageReceived (MessageEvent messageEvent) {if (PATH_ADD_TASK.equals (messageEvent.getPath ())) {// crear el ContentValues ​​objeto que almacena toda la información de // por el título taskString = new String (messageEvent.getData ( ), Charset.forName ("utf-8")) - valores ContentValues ​​= new ContentValues ​​() - values.put (COLUMN_TITLE, título) -values.put (COLUMN_NOTES, ") -values.put (COLUMN_DATE_TIME, System.currentTimeMillis ()) - // Introducir la tarea en la databasegetContentResolver () (inserte CONTENT_URI, valores) -.}}}

Usted tendrá que registrarse en el servicio AndroidManifest.xml de su aplicación de teléfono, por lo que añadir lo siguiente a su nodo de aplicación:

Probarlo!

Si estás usando un emulador para su dispositivo Android Wear, tendrá que conectarlo a su teléfono Android.

Una vez que está en marcha y funcionando, seguir adelante y marcar con el Android Wear para que aparezca el menú de acciones, y luego haga clic en la opción de una nota tomar.

Video: Como CONVERTIR tu movil Android en un ESCANER inalambrico PORTATIL y convierte .pdf a Word .doc

Si estás usando un emulador de reloj, a continuación, escriba en su respuesta.

Video: Dictado por voz en Documentos de Google Drive

Una vez que la nota salva, tire hacia arriba de la aplicación Tareas en su teléfono y usted debe ver el nuevo elemento:

¡Felicitaciones! Usted ha dictado con éxito una nota de voz y guardó a sus tareas de aplicación.

Hay todo tipo de cosas interesantes que se pueden realizar con los controles de voz en las plataformas Android Wear y Android. Para más ideas, echa un vistazo a la La adición de capacidades de voz y Recibir una entrada de voz en una Notificación artículos en el sitio web de desarrollador de Android. piratería feliz!

Artículos Relacionados