Autore Topic: RecognizerIntent mi elimina TTS  (Letto 624 volte)

Offline davidino81

  • Utente junior
  • **
  • Post: 66
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc one v
  • Sistema operativo:
    Windows 7
RecognizerIntent mi elimina TTS
« il: 01 Gennaio 2013, 20:10:59 CET »
0
Ciao a tutti e buon anno.
La mia applicazione utilizzava perfettamente il tts per leggere un parola attraverso un pulsante, da quando ho inserito il RecognizerIntent ed appena lo uso (funziona perfettamente)il pulsante tts non fa più nulla !
Il controllo del tts viene fatto in un'altra activity.
E' da tutto il pomeriggio che ci lavoro  e non ho trovato una soluzione anche perché non ho un errore !!!
Vi posto un paio di righe di codice:

Per il tts:
Codice (Java): [Seleziona]
tts_parola = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
        @Override
        public void onInit(int status) {
                if (status != TextToSpeech.ERROR){
                        if (prefs.getString("ling2", "no").equals("ita")){
                                tts_parola.setLanguage(Locale.ITALIAN);
                        }
                }
....
Codice (Java): [Seleziona]
case R.id.but_ascolta:
tts_parola.speak(parola[1], TextToSpeech.QUEUE_FLUSH,ttsParams);
                        break;

Per il RecognizerIntent :
Codice (Java): [Seleziona]
 PackageManager pm = getPackageManager();
             List<ResolveInfo> activities = pm.queryIntentActivities(
             new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
                if (activities.size() == 0)
                {
                    but_parla.setEnabled(false);
                    but_parla.setText("Recognizer not present");
                }
.....
Codice (Java): [Seleziona]
case R.id.but_parla:
                        Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
                        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");
                intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Voice recognition Demo...");
                startActivityForResult(intent, REQUEST_CODE_TR);
                        break;
.....
Codice (Java): [Seleziona]
protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        if (requestCode == REQUEST_CODE_TR && resultCode == RESULT_OK)
        {
                  ArrayList<String> matches = data.getStringArrayListExtra(
                      RecognizerIntent.EXTRA_RESULTS);
                  et_risposta.setText(matches.get(0));
        }
        super.onActivityResult(requestCode, resultCode, data);
       
    }