Una de las formas en que puedes comunicarte con tus usuarios es a través de la tecnología de texto a voz (TTS). Esta tecnología está integrada en Android (no requiere bibliotecas adicionales) y funciona incluso sin conexión. Estas características hacen que la función de TTS sea ideal para controlar las condiciones de error en el modo sin pantalla. Puedes hacer referencia a las funciones de TTS con la clase TextToSpeech.
Crea una instancia de TextToSpeech
Te recomendamos que crees una instancia de la clase TextToSpeech en el método onCreate() de la actividad de tus lentes con IA para que esté disponible durante la vida útil de Activity:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
tts = TextToSpeech(this) { status ->
if(status == TextToSpeech.SUCCESS) {
// Initialization successful
}else {
// Initialization failed
}
}
...
}
Notifica al usuario cuando comience la función de TTS
En el caso de las experiencias sin pantalla (solo audio), notifica al usuario que tu app se inició correctamente con el método onStart():
override fun onStart() {
super.onStart()
tts?.speak("Welcome to Android XR Glasses!",
TextToSpeech.QUEUE_FLUSH,
null,
"welcome_utterance")
...
}
Puntos clave sobre el código
TextToSpeech.QUEUE_FLUSHindica que el texto se debe decir de inmediato y que se debe interrumpir cualquier otra expresión de TTS.- El
utteranceId, en este caso"welcome_utterance", se usa para identificar cuándo se termina de hablar este texto. Para obtener más información, consultaUtteranceProgressListener.
Cómo interrumpir TTS
Si tu app alguna vez necesita interrumpir la conversión de texto a voz, llama al método stop():
// This interrupts the current utterance and discards other utterances in the queue.
tts?.stop()
...
Limpia los recursos de TTS
Debes limpiar los recursos cuando se destruya tu actividad llamando al método shutdown() dentro del método onDestroy() de la actividad:
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}