Eine Möglichkeit, mit Ihren Nutzern zu kommunizieren, ist die Verwendung der Text-to-Speech-Technologie (TTS). TTS ist in Android integriert (keine zusätzlichen Bibliotheken erforderlich) und funktioniert auch offline. Diese Eigenschaften machen TTS ideal für die Behandlung von Fehlerbedingungen im Displayless-Modus. Sie können mit der TextToSpeech Klasse auf TTS
Funktionen verweisen.
TextToSpeech instanziieren
Wir empfehlen, die Klasse TextToSpeech in der Methode projizierten
Aktivität onCreate zu instanziieren, damit sie für die gesamte Lebensdauer
von Activity verfügbar ist:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
tts = TextToSpeech(this) { status ->
if(status == TextToSpeech.SUCCESS) {
// Initialization successful
}else {
// Initialization failed
}
}
...
}
Nutzer benachrichtigen, wenn TTS gestartet wird
Bei Displayless-Erlebnissen (nur Audio) sollten Sie den Nutzer benachrichtigen, dass Ihre App
erfolgreich gestartet wurde, indem Sie ihn in der onStart Methode benachrichtigen:
override fun onStart() {
super.onStart()
tts?.speak("Welcome to Android XR Glasses!",
TextToSpeech.QUEUE_FLUSH,
null,
"welcome_utterance")
...
}
Wichtige Informationen zum Code
TextToSpeech.QUEUE_FLUSHgibt an, dass der Text sofort gesprochen und jede andere TTS-Äußerung unterbrochen werden soll.- Der
utteranceId, in diesem Fall"welcome_utterance", wird verwendet, um zu identifizieren wann dieser Text fertig gesprochen wurde. Weitere Informationen finden Sie unter demUtteranceProgressListener.
TTS unterbrechen
Wenn Ihre App TTS unterbrechen muss, rufen Sie die stop Methode auf:
// This interrupts the current utterance and discards other utterances in the queue.
tts?.stop()
...
TTS-Ressourcen bereinigen
Sie sollten Ressourcen bereinigen, wenn Ihre Aktivität beendet wird. Rufen Sie dazu die
shutdown Methode in der Methode onDestroy der Aktivität auf:
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}