En este post realizaremos una aplicación que pueda capturar nuestra voz y convertir en texto
Comencemos
¿Qué necesitamos?
Nivel: Intermedio
Tiempo: 15 minutos
Paso 1. El proyecto
Crea un nuevo proyecto llamado «Voz a Texto». Este debe tener las siguientes características:
Paso 2: Interfaz de Usuario
Utilizando el diseñador, agrega un TextView y un ImageButton, deja sus nombres por defecto. Da a lo controles la siguiente distribución como se muestra en la imagen de abajo.
Para el icono, puedes utilizar los iconos de Google, los puedes descargar en Material Icons
Paso 3: Código
Utilizaremos la clase RecognizerIntent, esta clase contiene soporte para el reconocimiento de voz a través de Intent.
Tanto el código como la aplicación en si, son bastante sencillos, básicamente el usuario presiona un botón, habla y este es capturado en un textview. El código integro a continuación:
package org.example.vozatexto; import android.content.Intent; import android.speech.RecognizerIntent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ImageButton; import android.widget.TextView; import java.util.ArrayList; import java.util.Locale; public class MainActivity extends AppCompatActivity { private TextView textView; private ImageButton imageButton; private final int RCODE = 28; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.textView); imageButton = findViewById(R.id.imageButton); imageButton.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ capturarVoz(); } }); } private void capturarVoz() { 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()); if (intent.resolveActivity(getPackageManager()) != null) { startActivityForResult(intent, RCODE); } else { Log.e("ERROR","Su dispositivo no admite entrada de voz"); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == RCODE && resultCode == RESULT_OK && data != null) { ArrayList<String> result = data.getStringArrayListExtra( RecognizerIntent.EXTRA_RESULTS); textView.setText(result.get(0)); } } }
Ya solo resta ejecutar y probar el proyecto.
enjoy!
En este tutorial crearemos una sencilla aplicación para android que nos permitirá subir una imagen a un servidor web. La[...]
En esta oportunidad construiremos una aplicación android que nos permitirá consumir un servicio web utilizando la libre[...]
JTree cuenta con métodos que nos permiten cambiar los iconos de cada nodo según su estado, sin embargo a veces esto no e[...]
En este post crearemos un componente que solo hay en android y que no esta disponible en la paleta de controles de Netbe[...]
Este post esta dedicado a la creación de reportes con imágenes usando el programa iReport Designer. Cuando se desarrolla[...]
JTable es un componente swing java que nos permite mostrar datos en una tabla de una base de datos, sin embargo a difere[...]