Kullanıcılarınızla iletişim kurmanın yollarından biri, metin okuma (TTS) teknolojisini kullanmaktır. TTS, Android'e yerleşiktir (ek kitaplık gerektirmez) ve çevrimdışıyken bile çalışır. Bu özellikler, TTS'yi ekransız modda hata koşullarını işlemek için ideal hale getirir. TextToSpeech sınıfını kullanarak TTS özelliklerine referans verebilirsiniz.
TextToSpeech'i örneklendirme
Activity'nin kullanım ömrü boyunca kullanılabilir olması için yansıtılan etkinliğinizin onCreate yönteminde TextToSpeech sınıfını örneklendirmenizi öneririz:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
tts = TextToSpeech(this) { status ->
if(status == TextToSpeech.SUCCESS) {
// Initialization successful
}else {
// Initialization failed
}
}
...
}
TTS başladığında kullanıcıyı bilgilendir
Ekranı olmayan (yalnızca sesli) deneyimlerde, onStart yönteminde kullanıcıya uygulamanızın başarıyla başlatıldığını bildirin:
override fun onStart() {
super.onStart()
tts?.speak("Welcome to Android XR Glasses!",
TextToSpeech.QUEUE_FLUSH,
null,
"welcome_utterance")
...
}
Kodla ilgili önemli noktalar
TextToSpeech.QUEUE_FLUSH, metnin hemen seslendirilmesi ve diğer tüm TTS ifadelerinin kesilmesi gerektiğini gösterir.utteranceId(bu örnekte"welcome_utterance"), bu metnin okunmasının ne zaman bittiğini belirlemek için kullanılır. Daha fazla bilgi içinUtteranceProgressListenersayfasını inceleyin.
TTS'yi kesme
Uygulamanızın TTS'yi kesintiye uğratması gerekirse stop yöntemini çağırın:
// This interrupts the current utterance and discards other utterances in the queue.
tts?.stop()
...
TTS kaynaklarını temizleme
Etkinliğiniz yok edildiğinde, etkinliğin onDestroy yönteminde shutdown yöntemini çağırarak kaynakları temizlemeniz gerekir:
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}