Kullanıcılarınızla iletişim kurmanın yollarından biri, metin okuma (TTS) teknolojisini kullanmaktır. TTS, Android'e yerleştirilmiştir (ek kitaplık gerektirmez) ve çevrimdışı olarak da ç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.
Instantiate TextToSpeech
Projected
activity'nin onCreate yönteminde TextToSpeech sınıfını oluşturmanızı öneririz. Böylece, Activity süresince kullanılabilir:
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ı bilgilendirme
Ekransız (yalnızca ses) deneyimlerde, kullanıcıyı onStart yöntemiyle bilgilendirerek 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 okunması ve diğer tüm TTS ifadelerinin kesilmesi gerektiğini gösterir.- Bu durumda
utteranceId,"welcome_utterance", bu metnin ne zaman okunmasının tamamlandığını belirlemek için kullanılır. Daha fazla bilgi içinUtteranceProgressListenersayfasına bakın.
TTS'yi kesme
Uygulamanızın TTS'yi kesmesi gerektiğinde 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öntemi içindeki shutdown yöntemini çağırarak kaynakları temizlemeniz gerekir:
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}