Autore Topic: speech recognition timeout  (Letto 3093 volte)

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
speech recognition timeout
« il: 31 Agosto 2012, 18:37:21 CEST »
0
Ciao a tutti
Ho creato un'applicazione con il speech recognition con un partial result
Codice (Java): [Seleziona]
 sr = SpeechRecognizer.createSpeechRecognizer(this);    
sr.setRecognitionListener(new listener());  
class listener implements RecognitionListener          
   {
...
}  
Tutto funziona, ma se aspetto qualche secondo a parlare non va senza dare avvisi di alcun tipo...
C'è qualche timeout? se si come si puo eliminare?
grazie...
 :-)

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:speech recognition timeout
« Risposta #1 il: 02 Settembre 2012, 15:19:56 CEST »
0
Almeno richiamare una funzione quando termina o qualcosa..
Nessuno sa come fare?
 :-(

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:speech recognition timeout
« Risposta #2 il: 03 Settembre 2012, 12:38:46 CEST »
0
Ecco i codici completi:

recognitionListener.java
Codice (Java): [Seleziona]
package com.X.X;

import java.util.ArrayList;

import android.os.Bundle;
import android.speech.RecognitionListener;
import android.speech.SpeechRecognizer;
import android.util.Log;

public class recognitionListener implements RecognitionListener{

        String TAG = "recognitionlistener";
       
        ArrayList<String> parole;
       
        @Override
        public void onBeginningOfSpeech() {
                // TODO Auto-generated method stub
               
                Log.i(TAG, "Inizio");
        }

        @Override
        public void onBufferReceived(byte[] buffer) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void onEndOfSpeech() {
                // TODO Auto-generated method stub
               
                Log.i(TAG, "Termino");
        }

        @Override
        public void onError(int error) {
                // TODO Auto-generated method stub
               
                Log.i(TAG, "Errore:"+error);
        }

        @Override
        public void onEvent(int eventType, Bundle params) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void onPartialResults(Bundle partialResults) {
                // TODO Auto-generated method stub
               
                onResults(partialResults);
        }

        @Override
        public void onReadyForSpeech(Bundle params) {
                // TODO Auto-generated method stub
               
                Log.i(TAG, "Sto ascoltando");
        }

        @Override
        public void onResults(Bundle results) {
                // TODO Auto-generated method stub
               
                parole = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
                Log.i(TAG, parole.get(0));
        }



        @Override
        public void onRmsChanged(float rmsdB) {
                // TODO Auto-generated method stub
               
        }

}

MainAcitivity.java
Codice (Java): [Seleziona]
package com.X.X;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ToggleButton;
import android.speech.RecognizerIntent;
import android.speech.SpeechRecognizer;


public class MainActivity extends Activity {


        String TAG = "mainacitivity";
       

        SpeechRecognizer rv;
        Intent rvIntent;
        ToggleButton onOff;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        rvIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        rvIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
        rvIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        rvIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getApplication().getPackageName());
        rv = SpeechRecognizer.createSpeechRecognizer(this);
        rv.setRecognitionListener(new recognitionListener());
        //rv.startListening(rvIntent);
     
        onOff = (ToggleButton) this.findViewById(R.main.toggle_on_off);
        onOff.setOnCheckedChangeListener(new OnCheckedChangeListener(){

                        @Override
                        public void onCheckedChanged(CompoundButton arg0, boolean on) {
                                // TODO Auto-generated method stub
                               
                                Log.i(TAG, "Toggle: "+on);
                                if(on)
                                {
                                        rv.startListening(rvIntent);
                                }
                                else
                                {
                                        rv.stopListening();
                                }
                        }});
    }


}

Offline mario

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
Re:speech recognition timeout
« Risposta #3 il: 04 Settembre 2012, 20:42:38 CEST »
0
Anche a me da lo stesso prblema
 :-(

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: speech recognition timeout
« Risposta #4 il: 04 Settembre 2012, 23:58:40 CEST »
+1
Vi siete basati su qualche tutorial in particolare per il riconoscimento vocale?

Inviato dal mio GT-I9100 con Tapatalk 2

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:speech recognition timeout
« Risposta #5 il: 05 Settembre 2012, 11:25:41 CEST »
0

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:speech recognition timeout
« Risposta #6 il: 08 Settembre 2012, 12:30:08 CEST »
0
Nessuno sa perchè?

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:speech recognition timeout
« Risposta #7 il: 11 Settembre 2012, 19:30:45 CEST »
0
up
 :-)

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:speech recognition timeout
« Risposta #8 il: 17 Settembre 2012, 19:44:25 CEST »
0
Ho testato questa cosa anche in un altro telefono (samsung galaxy s i9003) e dopo un po che non parlo richiama onError..
Invece con il mio nexus s (jelly beans stock) se non parlo subito si interrompe però non va in onError..
Come faccio se non va in onError a capire se sta ascoltando o no??????
Questo è il problema..
Come mai nel nexus non va in onError?? ce qualche soluzione?
 :-\

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:speech recognition timeout
« Risposta #9 il: 19 Settembre 2012, 13:37:29 CEST »
0
Nemmeno un metodo per eliminare il timeout esiste?
E quasi un mese che ho questo problema
 :-\

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:speech recognition timeout
« Risposta #10 il: 20 Settembre 2012, 16:19:55 CEST »
0
Ecco i sorgenti in allegato..
Chi Volesse provarli
Non si risolve proprio
:-(
 :'(


Offline michele88

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung N7100
  • Sistema operativo:
    Windows 8.1
Re:speech recognition timeout
« Risposta #11 il: 13 Febbraio 2015, 19:09:31 CET »
0
ciao! provo a riaprire questa discussione anche se è passato molto tempo  :-P
sei riuscito a risolvere poi? poi ho incollato il tuo codice in un mio progetto. come faccio ad ottenere la stringa con i risultati della voce parlata? grazie mille!