Vous pouvez communiquer avec vos utilisateurs à l'aide de la technologie de synthèse vocale (TTS). La TTS est intégrée à Android (aucune bibliothèque supplémentaire n'est requise) et fonctionne même hors connexion. Ces caractéristiques rendent la TTS idéale pour gérer les conditions d'erreur en mode sans affichage. Vous pouvez référencer les fonctionnalités de TTS
à l'aide de la TextToSpeech classe.
Instancier TextToSpeech
Nous vous recommandons d'instancier la classe TextToSpeech dans la méthode onCreate de votre activité projetée
afin qu'elle soit disponible pendant toute la durée de vie
de la Activity :
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
tts = TextToSpeech(this) { status ->
if(status == TextToSpeech.SUCCESS) {
// Initialization successful
}else {
// Initialization failed
}
}
...
}
Informer l'utilisateur lorsque la TTS démarre
Pour les expériences sans affichage (audio uniquement), informez l'utilisateur que votre application
a bien été lancée en l'avertissant dans la méthode onStart :
override fun onStart() {
super.onStart()
tts?.speak("Welcome to Android XR Glasses!",
TextToSpeech.QUEUE_FLUSH,
null,
"welcome_utterance")
...
}
Points essentiels concernant le code
TextToSpeech.QUEUE_FLUSHindique que le texte doit être prononcé immédiatement et que tout autre énoncé TTS doit être interrompu.- Le
utteranceId, dans ce cas"welcome_utterance", est utilisé pour identifier le moment où ce texte est terminé. Pour en savoir plus, consultez leUtteranceProgressListener.
Interrompre la TTS
Si votre application doit interrompre la TTS, appelez la stop méthode :
// This interrupts the current utterance and discards other utterances in the queue.
tts?.stop()
...
Nettoyer les ressources TTS
Vous devez nettoyer les ressources lorsque votre activité est détruite en appelant la
shutdown méthode dans la onDestroy méthode de l'activité :
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}