Uso de Android.Speech.Tts

Hola!! Esta vez, les traigo el tema de como hacer que nuestros dispositivos hablen lo que escribimos;
Primero que nada creamos nuestro proyecto para ello, hacemos lo siguiente:
Archivo >> Nuevo>> Solución
Ingresamos el nombre de nuestro proyecto y damos clic en aceptar;
Ahora crearemos la interfaz gráfica, es algo sencillo, este es el aspecto que tendrá nuestra aplicación:
El codigo axml del layout seria el siguiente:

Ya que tenemos la parte gráfica, nos vamos a nuestra MainActivity.cs, y hacemos lo siguiente:
Las librerías que nos permitirán hacer funcionar nuestra app, serán las siguientes:
Android.Speech.Tts;
Android.Collections.Generic;

Ya que las tenemos importadas, implementamos TextToSpeech.IOnInitListener para poder hacer activar el Tts al iniciar nuestra app.
Declaramos también una variable del tipo TextToSpeech

Ahora inicializaremos la variable del tipo TextToSpeech, así mismo hacemos referencias a los elementos declarados en el Main.axml
Una vez hecho esto, implementamos en el método Click del botón activar lo que permitirá que nuestro app hable lo que escribamos, para ello hacemos lo siguiente:
En el primer if Verificamos que nuestra variable tipo TextToSpeech sea diferente de null
En la variable text depositamos el contenido de la caja de texto.
                    Así mismo, verificamos que nuestra variable de texto no sea nula para evitar una excepción.
Verificamos que nuestro teléfono no este usando la función de dictado
                        if (!tts.IsSpeaking) 
y finalmente 
Se llama la función de dictado que nos pedida tres parámetros
                            1 Texto a dictar
                 2 Modo
                            3 Diccionario de parámetros el cual ira vació en esta ocasión



Nuestra aplicacion, tambien necesitara dos metodos importantes para funcionar los cuales son:
Este metodo nos permite saber si nuestra variable ha sido inicializada correctamente, asi como nos permite asignar el idioma que deseamos tenga la voz que lea el texto:
  tts.SetLanguage (Java.Util.Locale.Default);
tts.SetLanguage (Java.Util.Locale.Italian);

Para terminar el método, una notificación si no se activa correctamente.

El siguiente método a utilizar es el siguiente:
Este método es para finalizar el método de dictado, comprobamos si es diferente de null;

Ahora, solo resta comprobar que funcione, para ello lo ejecutamos si tienes un dispositivo o en el emulador igual funciona. Gracias.
Para mayor información, les sugiero consultar las siguientes fuentes:


Esto seria todo, cualquier duda o sugerencia escríbanme.

Siganme en twitter:




Comentarios

Entradas populares de este blog

Entry Show/Hide Password on Xamarin.Forms

Xamarin.Forms Frame

Xamarin.Forms Picker