Uma das maneiras de se comunicar com os usuários é usando a tecnologia de conversão de texto em voz (TTS). O TTS é integrado ao Android (não exigindo bibliotecas adicionais) e funciona mesmo off-line. Essas características tornam a TTS ideal para lidar com condições de erro no modo sem tela. É possível fazer referência aos recursos de TTS
usando a classe TextToSpeech.
Instanciar TextToSpeech
Recomendamos instanciar a classe TextToSpeech no método onCreate() da atividade dos óculos de IA para que ela fique disponível durante todo o ciclo de vida do Activity:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
tts = TextToSpeech(this) { status ->
if(status == TextToSpeech.SUCCESS) {
// Initialization successful
}else {
// Initialization failed
}
}
...
}
Notificar o usuário quando a TTS for iniciada
Para experiências sem tela (somente áudio), informe ao usuário que o app foi iniciado
com sucesso notificando-o no método onStart():
override fun onStart() {
super.onStart()
tts?.speak("Welcome to Android XR Glasses!",
TextToSpeech.QUEUE_FLUSH,
null,
"welcome_utterance")
...
}
Pontos principais sobre o código
TextToSpeech.QUEUE_FLUSHindica que o texto precisa ser falado imediatamente e que qualquer outra fala de TTS precisa ser interrompida.- O
utteranceId, nesse caso"welcome_utterance", é usado para identificar quando o texto termina de ser falado. Para mais informações, consulte oUtteranceProgressListener.
Interromper a TTS
Se o app precisar interromper a TTS, chame o método stop():
// This interrupts the current utterance and discards other utterances in the queue.
tts?.stop()
...
Limpar recursos de TTS
Limpe os recursos quando a atividade for destruída chamando o método
shutdown() no método onDestroy() da atividade:
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}