У меня есть следующий код Kotlin в диалоге, где я хочу использовать TextToSpeech.
val tts = TextToSpeech(context, TextToSpeech.OnInitListener {status->
if(status == TextToSpeech.ERROR) {
Timber.w("Text to speech issue. Status was ERROR.")
}
})
tts.language = Locale.getDefault()
val thread = Thread {
tts.speak(getString(R.string.speed_voice_enabled), TextToSpeech.QUEUE_FLUSH, null, null)
}
thread.start()
val handler = Handler()
handler.postDelayed( Runnable() {
run() {
dialog.dismiss();
}
}, 1500); //1.5 seconds
Если я установлю точку останова на линии tts.speak, а затем нажму F9, чтобы позволить ей продолжить, речь идет громко и ясно. Если я уберу эту точку останова, то ничего, независимо от того, как долго я установлю задержку для закрытия диалога.
Кто-нибудь может увидеть, что я делаю не так, пожалуйста?