¡Hola a todos! En este tutorial explicaré cómo utilizar el reconocedor de voz hecho por Google para reconocer nuestra voz y hacer que lo que hayamos dicho sea convertido a texto.
Básicamente, se trata de un "intent" que se lanza con unos determinados parámetros y de una determinada forma.
Antes de nada, necesitaremos añadir un nuevo permiso a nuestro manifest:
<uses-permission android:name="android.permission.INTERNET" />
Primero tenemos que crear un nuevo "intent", pero sin hacer lo que hacíamos siempre para cargar otra activity. Esta vez es diferente.
Pero con esto no está todo resuelto. Si nos fijamos bien en el código anterior, y en especial en el trozo donde se lanza la activity, vemos que la hemos lanzado de forma diferente a como solemos hacerlo cuando queremos cambiar simplemente de pantalla.
Aquí utilizamos "startActivityForResutl". Inicia la activity de forma que primero realiza unas operaciones y al acabar dichas operaciones, cierra la activity (this.finish()) y devuelve los resultados a la activity anterior.
Ahora bien, ¿dónde podemos recoger esa información devuelta?
Para ello existe el método (que hay que sobrescribir con "@Override") "onActivityResult". Podemos ver un ejemplo de su uso en el enlace anterior.
Bien, ahora que sabemos dónde tenemos que realizar la recogida de la información que queremos, tenemos que saber como tratar esa información para poder operar con ella (a ser posible a nivel de String).
"onActivityResult" tiene como tercer parámetro un objeto data del tipo Intent. Es en la información extra de este intent donde está contenida la información que hayamos dictado por voz.
Para obtener la información es necesario escribir las dos líneas de código siguientes:
1# ArrayList<String> text = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
2# String texto = text.get(0);
Lo que hacemos con estas dos líneas es extraer cualquier tipo de información extra en forma de Array de String. El reconocedor de voz traduce todo lo que le digamos a un simple string que es el que se guarda en el Array.
Como la única información extra que tenemos en este caso es ese string, accedemos a él con la segunda línea de código.
Y listo, ya hemos pasado a texto (String) lo que hemos dicho mediante nuestra voz y podemos empezar a operar con nuestro "texto".
No hay comentarios:
Publicar un comentario