Android - Reconocimiento de voz "automático"

 
Vista:
sin imagen de perfil

Reconocimiento de voz "automático"

Publicado por Alvaro (4 intervenciones) el 17/01/2018 18:47:08
Saludos, soy nuevo en esto de programar en android
He revisado algunos programas de reconocimiento de voz y pasarlo a texto, la pregunta es:
¿Es posible que al momento de abrir la app de reconocimiento de voz el micrófono se active automáticamente?
La idea es, que cuando abra la aplicación sin la necesidad de presionar ningún botón, simplemente hablarle al dispositivo y que transforme la voz a texto.
De antemano muchas gracias por la ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 112
Bronce
Ha disminuido 1 puesto en Android (en relación al último mes)
Gráfica de Android

Reconocimiento de voz "automático"

Publicado por Yamil Bracho (100 intervenciones) el 17/01/2018 18:58:33
Prueba con el Intent
1
ntent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 112
Bronce
Ha disminuido 1 puesto en Android (en relación al último mes)
Gráfica de Android

Reconocimiento de voz "automático"

Publicado por Yamil Bracho (100 intervenciones) el 17/01/2018 20:31:45
Prueba con
1
2
ImageButton img_btn_hablar = (Button)findViewById(R.id.img_btn_hablar);
img_btn_hablar.performClick();

en el onCreate
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Reconocimiento de voz "automático"

Publicado por Avaro (4 intervenciones) el 18/01/2018 01:04:12
Me notifica estos errores, en la imagen muestra el lugar donde puse el código y los errores que me aparecen.
Si me podrías ayudar te agradecería mucho

eroor2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 466
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Reconocimiento de voz "automático"

Publicado por Francisco (358 intervenciones) el 18/01/2018 18:55:30
Tienes un error en esta linea

ImageButton img_btn_hablar(Button)findViewById(R.id.img_btn_hablar); // error

ImageButton img_btn_hablar(ImageButton)findViewById(R.id.img_btn_hablar);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Reconocimiento de voz "automático"

Publicado por Avaro (4 intervenciones) el 18/01/2018 21:38:11
errrrro22

ME SALE ESO ME PUEDES AYUDAR PORFAVOR??
ESTE ES EL CÒDIGO

------------------------------------------------.JAVA--------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package com.example.javier.ejemplo;
 
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.speech.RecognizerIntent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
 
import java.util.ArrayList;
 
public class MainActivity extends Activity{
    TextView grabar;
    private static final int RECOGNIZE_SPEECH_ACTIVITY = 1;
 
    @Override
 
    protected void onCreate(Bundle savedInstanceState) {
        ImageButton img_btn_hablar;(ImageButton)findViewById(R.id.img_btn_hablar)img_btn_hablar.performClick();
        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 porvoz",
                    Toast.LENGTH_SHORT).show();
        }
 
    }
 
}


----------------------------------------------.XML---------------------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?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"
tools:context="com.example.javier.ejemplo.MainActivity">
 
    <ImageButton
        android:id="@+id/img_btn_hablar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="@mipmap/a1"
        android:contentDescription="@string/app_name"
        android:onClick="onClickImgBtnHablar" />
 
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/txtGrabarVoz"
    android:textSize="30dp"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginLeft="17dp"
    android:layout_marginStart="17dp"
    android:layout_marginTop="48dp" />
</RelativeLayout>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 466
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Reconocimiento de voz "automático"

Publicado por Francisco (358 intervenciones) el 18/01/2018 21:52:10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
@Override
 
protected void onCreate(Bundle savedInstanceState) {
// ImageButton img_btn_hablar;(ImageButton)findViewById(R.id.img_btn_hablar)img_btn_hablar.performClick(); esta linea qui nova, va //despues de cargar el layout
 
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton img_btn_hablar;(ImageButton)findViewById(R.id.img_btn_hablar);
 
img_btn_hablar.performClick();
 
 
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 porvoz",
Toast.LENGTH_SHORT).show();
}
 
}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar