Я пытаюсь внедрить технологию преобразования текста в речь Android в своей деятельности, но сталкиваюсь со странной ошибкой. Я не слышу звука из моего кода. Метод говорить работает, только если я помещаю его в метод onInit, иначе он не говорит.
Мой код выглядит следующим образом:
public class GameOverActivity extends Activity implements OnInitListener { private TextToSpeech talker; .... talker = new TextToSpeech(this, this); say("Something",false); ... public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { talker.setLanguage(Locale.US); } else if (status == TextToSpeech.ERROR) { Toast.makeText(this,"Error occurred while initializing Text-To-Speech engine", Toast.LENGTH_LONG).show(); } void say(String text, boolean flush) { if(flush == true) { talker.speak(text,TextToSpeech.QUEUE_FLUSH,null); } if(flush == false) { talker.speak(text,TextToSpeech.QUEUE_ADD,null); } }
Странно то, что если я помещаю метод say в onInit, он отлично работает!
Я внимательно смотрел logcat и вот результаты:
TtsService.OnCreate () TTs загружается AudioTrack запущен TTSService.setLanguage загружен en-US, успешно устанавливая скорость речи на 100
а потом ничего не происходит.
Любая идея о том, что не так с приведенным выше кодом?
Заранее спасибо!