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 başvurabilirsiniz.
TextToSpeech'i başlatma
TextToSpeech sınıfını, yapay zeka gözlüğünüzün etkinliğinin onCreate() yönteminde oluşturmanızı öneririz. Böylece, Activity'ın kullanım ömrü boyunca 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 kesintiye uğratma
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çinde shutdown() yöntemini çağırarak kaynakları temizlemeniz gerekir:
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}