Como hacer una aplicacion reconocimiento de voz en android studio

Buenas a pedido de un amigo en Chile vamos hacer una aplicación con reconocimiento de voz y luego atrapar lo que se diga en un texview.
sin mas demoras empezamos…..
necesitamos
un ImageButton
un TextView

   

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.
com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.androidmorefast.moden.appreconocmientovoz.
    MainActivity">
<ImageButton
android:id=“@+id/img_btn_hablar
android:layout_width=“wrap_content
android:layout_height=“wrap_content
android:layout_alignParentBottom=“true
android:layout_centerHorizontal=“true
android:contentDescription=“@string/app_name
android:onClick=“onClickImgBtnHablar
android:background=“@drawable/microfono” />

<TextView
android:layout_width=“match_parent
android:layout_height=“wrap_content
android:id=“@+id/txtGrabarVoz
android:layout_alignParentTop=“true
android:layout_alignParentLeft=“true
android:layout_alignParentStart=“true
android:phoneNumber=“false
android:textSize=“30dp” />
</RelativeLayout>

MainActivity.java

public class MainActivity extends Activity {
TextView grabar;

private static final int RECOGNIZE_SPEECH_ACTIVITY = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

grabar = (TextView) findViewById(R.id.txtGrabarVoz);
}

@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
super.onActivityResult(requestCode, resultCode, data);

switch (requestCode) {
case RECOGNIZE_SPEECH_ACTIVITY:

if (resultCode == RESULT_OK && null != data) {

ArrayList<String> speech = data
.getStringArrayListExtra(RecognizerIntent.
EXTRA_RESULTS);
String strSpeech2Text = speech.get(0);

grabar.setText(strSpeech2Text);
}

break;
default:

break;
}
}

public void onClickImgBtnHablar(View v) {

Intent intentActionRecognizeSpeech = new Intent(
RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

// Configura el Lenguaje (Español-México)
intentActionRecognizeSpeech.putExtra(
RecognizerIntent.EXTRA_LANGUAGE_MODEL, "es-MX");
try {
startActivityForResult(intentActionRecognizeSpeech,
RECOGNIZE_SPEECH_ACTIVITY);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
"Tú dispositivo no soporta el reconocimiento por 
voz",
Toast.LENGTH_SHORT).show();
}

}

}

Hay que dar permisos:
AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.androidmorefast.moden.appreconocmientovoz">
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.
 LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

Y el resultado seria algo como esto, todo lo que hablen android lo escribirá 🙂

 

 


Como insertar fecha en android studioComo insertar sonidos a una aplicacion en androidIngresar,Eliminar, Editar,consultar en una base de datos SQLITE

0

Hola soy Alex Céspedes  fundador de ANDROFAST, programo algunas cosas por diversión, me gusta aprender cosas nuevas y estoy pendiente de todo lo que tenga que ver con tecnología. Este blog lo cree para todas las personas que tengan dificultades en la programación, para ser sincero nunca fui bueno y reprobé algunos cursos de programación, pero mis ganas de aprender pudieron más. SI YO PUEDO TU PUEDES ANIMO!

26 pensamientos sobre “Como hacer una aplicacion reconocimiento de voz en android studio

  1. AndroFast

    Perfecto, siempre escuchado que recomiendan entrar al mundo de java antes de aventurarse en Android, pero sucede lo contrario conmigo, java me parece un poco aburrido. porque siempre me orientaron hacer sistemas de ventas o gestión, en cambio android me da mil posibilidades de crear una aplicación interesante y tal vez loca…saludos

    0
  2. Anónimo

    Me gusto tu aporte, he estado buscando varios codigos de reconocimiento de voz y al fin pude encontrar uno, pero mi pregunta es la siguiente… habrá la posibilidad de que este mismo responda de igual forma (hablando)? Salufos y espero tu comebtario

    0
  3. Anónimo

    hola disculpa soy nuevo en android Studio sera que podría hacerte algunas preguntas sobre tu código a través del correo , de antemano gracias

    0
  4. Pingback: Como crear una grabadora de audio en android studio | ANDROFAST

  5. Daniel

    Muy buen código, pero hay la posibilidad de hacer lo mismo, pero no ocupar las plataforma de google, si no que el celular sea el encargado de realizar el reconocimiento de voz

    0
  6. luis

    Hola alex,muchas gracias por tu aporte .Bueno quería consultarte como haría si yo quisiera dictar y al mismo tiempo quiero que se guarde el audio que dicte.¿se puede ?¿como lo haría ?.
    Te agradecería un montón si se pudiera y me dijeras.

    0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *