Я не могу получить срабатывание onUtteranceCompleted () на моем Galaxy Nexus 4.0.2.Мои эмуляторы с API 8, 10 и 15 запускают onUtteranceCompleted ().Я потратил около 5 часов и прочитал каждый пост на stackoverflow об этом, и я не заставляю его работать.Я был бы очень рад, если бы кто-нибудь смог мне помочь; (Я довольно новичок в Android, поэтому было бы здорово, если бы вы могли объяснить это новичкам.
edit: хорошо ... приведенное выше утверждение вернов большинстве случаев я просто заставил его работать на моем оборудовании 4.0.2. Затем я закрыл его и снова запустил, и onUtteranceCompleted () сделал не снова запущен. То же самое вчера (до некоторогокод меняется), поэтому он не работает в 90% случаев. Не могу понять; (
edit2: FYI: mTts.setOnUtteranceCompletedListener (this); возвращает TextToSpeech.SUCCESS
Большое спасибо!
Вот мой код:
(...)
public void onInit(int status) {
mTts.setOnUtteranceCompletedListener(this);
if (status == TextToSpeech.SUCCESS) {
int result = mTts.setLanguage(Locale.US);
if (result == TextToSpeech.LANG_MISSING_DATA ||
result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e(TAG, "Language is not available.");
} else {
TTSAusgabe.setEnabled(true);
}
} else {
Log.e(TAG, "TTS failed");
}
}
SayText() { (....)
MundAnimation.start();
HashMap<String, String> params = new HashMap<String, String>();
params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "utterance");
mTts.speak("Ma Text", TextToSpeech.QUEUE_FLUSH, params);
}
}
// That's the bad boy!
public void onUtteranceCompleted(String utterance)
{
MundAnimation.stop();
//startVoiceRecognitionActivity();
System.out.println("drin");
}
(...)