Vous pouvez communiquer avec vos utilisateurs à l'aide de la technologie de synthèse vocale (TTS, Text-to-Speech). La synthèse vocale est intégrée à Android (aucune bibliothèque supplémentaire n'est requise) et fonctionne même hors connexion. Ces caractéristiques font de TTS la solution idéale pour gérer les conditions d'erreur en mode sans affichage. Vous pouvez référencer les fonctionnalités TTS à l'aide de la classe TextToSpeech.
Instancier TextToSpeech
Nous vous recommandons d'instancier la classe TextToSpeech sur la méthode onCreate de votre activité projetée afin qu'elle soit disponible pendant toute la durée de vie de 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 synthèse vocale démarre
Pour les expériences sans écran (audio uniquement), informez l'utilisateur que votre application a bien été lancée en l'en 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 clés concernant le code
TextToSpeech.QUEUE_FLUSHindique que le texte doit être énoncé immédiatement et que tout autre énoncé TTS doit être interrompu.- Le
utteranceId, dans ce cas"welcome_utterance", permet d'identifier quand la lecture de ce texte est terminée. Pour plus d'informations, consultez la pageUtteranceProgressListener.
Interrompre la synthèse vocale
Si votre application doit interrompre la synthèse vocale, appelez la méthode stop :
// 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 méthode shutdown dans la méthode onDestroy de l'activité :
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}