package com.multiwii.Utilities; import java.util.Locale; import android.content.Context; import android.speech.tts.TextToSpeech; import android.util.Log; public class TTS implements TextToSpeech.OnInitListener { private TextToSpeech tts; public static final int TTS_CHECK_CODE = 2345; Context context; public boolean TTSinit = false; boolean inicjalizacja = false; String tag = "smsreader"; String text; private void CreateTTS() { Log.d(tag, "CreateTTS"); if (!inicjalizacja) { tts = new TextToSpeech(context, this); inicjalizacja = true; } } public TTS(Context context) { this.context = context; Log.d(tag, "text to speach init TTSinit " + String.valueOf(TTSinit)); } @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { int result = tts.setLanguage(Locale.ENGLISH); Log.d("aaa", Locale.getDefault().getLanguage()); if (Locale.getDefault().getLanguage().equals("de")) { result = tts.setLanguage(Locale.getDefault()); Log.d("aaa", "german"); } if (Locale.getDefault().getLanguage().equals("hu")) { result = tts.setLanguage(Locale.getDefault()); Log.d("aaa", "hungarian"); } if (Locale.getDefault().getLanguage().equals("pl")) { result = tts.setLanguage(Locale.getDefault()); Log.d("aaa", "polish"); } if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { Log.e("TTS", "This Language is not supported"); } TTSinit = true; tts.speak(this.text, TextToSpeech.QUEUE_ADD, null); } else { TTSinit = false; } Log.d(tag, "text to speach init status " + String.valueOf(status)); Log.d(tag, "text to speach init TTSinit " + String.valueOf(TTSinit)); } public void Speak(String text) { Log.d(tag, "Speak:" + text); if (TTSinit) { tts.speak(text, TextToSpeech.QUEUE_ADD, null); } else { this.text = text; CreateTTS(); } } }