# Text to Speech Problem



## Anfänger2011 (18. Jul 2015)

Hi alle zusammen,

ich bin in sachen Android programmierung noch ganz am Anfang und arbeite gerade mein Buch dazu durch. Zu einem der ersten Projekte habe ich mal ein bischen rumprobiert, aber das klappt einfach nicht richtig.

Ziel: mehrere Sprachausgaben

Derzeit: nur die letzte wird ausgegeben

Frage:Woran kann das liegen?


```
package de.androidnewcomer.saghallo;

import java.util.Locale;

import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;

public class StartActivity extends Activity implements OnInitListener{

    private TextToSpeech tts;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tts = new TextToSpeech(this, this);
    }
   
    @Override
    public void onDestroy() {
        // Don't forget to shutdown tts!
        if (tts != null) {
            tts.stop();
            tts.shutdown();
        }
        super.onDestroy();
    }
   
    private void speakOut(){
        tts.speak("Hallo. Das hier ist die erste App von Dominik Reimers. " +
                "Sie wird sich in 30 Sekunden selber zerstören. Laufen Sie also schnell weg."
                ,TextToSpeech.QUEUE_FLUSH, null);
       
        for(int x = 30; x >= 0; x--){
            tts.speak(x + " Sekunden",TextToSpeech.QUEUE_FLUSH, null);
        }

        tts.speak("Kabum!",TextToSpeech.QUEUE_FLUSH, null);
    }
   
    @Override
    public void onInit(int status) {
        if(status == TextToSpeech.SUCCESS){
            tts.setLanguage(Locale.GERMAN);
            speakOut();
        }
    }
```

Viele Grüße Dominik


----------



## Anfänger2011 (23. Jul 2015)

Falls nochmal jemand das Problem haben sollte ... ich habe das wie folgt gelöst:

-anfangs wird was gesprochen(das hat ja auch gut funktioniert)
-while-Schleife -> da kommt die folgende Abfrage rein
-Abfrage mit isSpeaking() liefert boolean zurück
-hier kommt dann schließlich der nächste zu sprechende Text rein und die Schleife wird beendet

Hoffe das hilft irgenwann Mal jmd


----------

