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!
Hace tiempo pidieron un video tutorial sobre como crear sus propios componentes swing java, lamentablemente debo decir q[...]
En este post aprenderemos los pasos básicos para construir una aplicación android con soporte multilenguaje, utilizaremo[...]
En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic d[...]
Cuando se hace uso de programas a veces no importa que este cree más de una instancia al mismo tiempo, por ejemplo podem[...]
El Ascii Art o Arte Ascii, consiste en realizar dibujos con los caracteres ASCII (Código Americano Estándar de Intercamb[...]
Integrar Python en proyectos Laravel puede ser bastante útil para tareas específicas donde Python destaca y PHP se queda[...]