Échec de la parole non lié au moteur TTS

Donc j'ai eu une activité originale avec exactement le même code pour parler, mais j'ai dû déplacer ce code dans une autre activité. La seule différence que je peux dire c'est que le texte à la parole n'est pas appelée dans une méthode asynchrone. Le discours se situe dans le speakFull méthode.
J'obtiens ces erreurs:

speak failed: not bound to TTS engine
isSpeaking failed: not bound to TTS engine

Je suis nouveau sur android, le développement, j'ai cherché à travers d'autres solutions à ce problème, et je ne peux pas vraiment l'air de trouver une solution pour rendre le travail de la mine. Tout conseil ou aide est très appréciée.

Code:

   package com.example.webview;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.speech.tts.TextToSpeech;
import android.text.method.ScrollingMovementMethod;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class ReadOut extends Activity implements TextToSpeech.OnInitListener, OnClickListener {
boolean paused = false;
String leftToRead = null;
String res = null;
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.read_out);
Intent intent = getIntent();
res = intent.getExtras().getString("response");
TextView textv = (TextView) findViewById(R.id.textView1);
textv.setText(res);
textv.setMovementMethod(new ScrollingMovementMethod());
android.view.Display display = ((android.view.WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
textv.setHeight((int)(display.getHeight()*0.76));
leftToRead = speakFull(res);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
return true;
}
public String speakFull(String text){
System.out.println("Speaking: " + text);
TextToSpeech tts = new TextToSpeech(this, this);
System.out.println("Speaking");
String[] sentences = text.split("\n|\\.(?!\\d)|(?<!\\d)\\."); //Regex that splits the body of text into the sentences of that body which are stored in a String array.
for(int i = 0; i < sentences.length; i++){
if(!tts.isSpeaking() && !paused){
System.out.println("Speaking: " + i);
tts.speak(sentences[i], TextToSpeech.QUEUE_FLUSH, null);
}else if(paused){
System.out.println("Paused");
String paused = "";
for(int j = i - 1; j < sentences.length; j++){
paused += sentences[j];
}
return paused;
}else{
i--;
}
if(i == sentences.length - 1){
return "Message 001: Complete";
}
}
return null;
}
@Override
public void onInit(int arg0) {
//TODO Auto-generated method stub
}
public void clickPause(View v){
if(paused){
paused = false;
Button b = (Button) findViewById(R.id.button1);
b.setText("Play");
}else{
paused = true;
Button b = (Button) findViewById(R.id.button1);
b.setText("Pause");
if(leftToRead == null){
leftToRead = speakFull(res);
}else{
leftToRead = speakFull(leftToRead);
}
}
}
@Override
public void onClick(DialogInterface arg0, int arg1) {
//TODO Auto-generated method stub
}
}

source d'informationauteur Man Person