2014-11-17 3 views
0

Я пытаюсь реализовать Text to Speech в своем приложении. Я следил за следующим руководством, но мое приложение продолжает сбой после экрана всплеска.Текст для Android не работает

ссылка: http://www.androidhive.info/2012/01/android-text-to-speech-tutorial/

Основная деятельность класса я это

String alertMessage = AppResources.ALERT_MSG; 


SpeakDemo speak = new SpeakDemo(null, alertMessage); 
speak.speakOut(); 

Если удалить speak.speakOut(); лайн приложение работает нормально.

App Ресурсы другой класс со следующим окне сообщения

public static String ALERT_MSG = "Welcome!"; 

SpeakDemo класс:

import java.util.Locale; 

import android.content.Context; 
import android.speech.tts.TextToSpeech; 
    import android.util.Log; 
    public class SpeakDemo implements TextToSpeech.OnInitListener{ 

private TextToSpeech tts; 
private Context context; 
private String message; 

public SpeakDemo(Context context, String message){ 
this.context = context; 
this.message = message; 
} 


@Override 
public void onInit(int status) { 
    // TODO Auto-generated method stub 


    if (status == TextToSpeech.SUCCESS) { 

     int result = tts.setLanguage(Locale.US); 

     if (result == TextToSpeech.LANG_MISSING_DATA 
       || result == TextToSpeech.LANG_NOT_SUPPORTED) { 
      Log.e("TTS", "This Language is not supported"); 
     } else { 
      speakOut(); 
     } 

    } else { 
     Log.e("TTS", "Initilization Failed!"); 
    } 

} 


public void speakOut(){ 

    tts.speak(message, TextToSpeech.QUEUE_FLUSH, null); 



} 

}

Любые идеи?

Благодаря

ответ

0

Вам нужно создать экземпляр TextToSpeech.

Изменить

public SpeakDemo(Context context, String message){ 
    this.context = context; 
    this.message = message; 
    tts = new TextToSpeech(context, this); 
} 
0
//FOR TEXT TO SPEECH 
@Override 
public void onInit(int status) { 
    // TODO Auto-generated method stub 
    String msg=text.getText().toString(); 
    if(status==TextToSpeech.SUCCESS) 
    { 
     tts.setLanguage(Locale.US); 
     tts.speak(msg,TextToSpeech.QUEUE_FLUSH,null); 
    } 
    else 
     Log.e("TTS","INITILIZATION FAILED"); 
} 
public void onDestroy() 
{ 
    if (tts!=null) 
    { 
     tts.stop(); 
     tts.shutdown(); 
    } 
    super.onDestroy(); 
} 
+0

Просьба предоставить некоторые объяснения тоже. ура – d4Rk

Смежные вопросы