Один из способов общения с пользователями — использование технологии преобразования текста в речь (TTS). TTS встроена в Android (не требует дополнительных библиотек) и работает даже офлайн. Благодаря этим характеристикам TTS идеально подходит для обработки ошибок в режиме без дисплея. Вы можете обратиться к функциям TTS с помощью класса TextToSpeech .
Создать экземпляр TextToSpeech
Мы рекомендуем создать экземпляр класса TextToSpeech в методе onCreate() активности очков ИИ, чтобы он был доступен на протяжении всего жизненного цикла Activity :
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
tts = TextToSpeech(this) { status ->
if(status == TextToSpeech.SUCCESS) {
// Initialization successful
}else {
// Initialization failed
}
}
...
}
Уведомлять пользователя о запуске TTS
В случае отсутствия отображения (только звук) сообщите пользователю об успешном запуске приложения, уведомив его в методе onStart() :
override fun onStart() {
super.onStart()
tts?.speak("Welcome to Android XR Glasses!",
TextToSpeech.QUEUE_FLUSH,
null,
"welcome_utterance")
...
}
Ключевые моменты кода
-
TextToSpeech.QUEUE_FLUSHуказывает, что текст должен быть произнесен немедленно, а любое другое произношение TTS должно быть прервано. - Идентификатор
utteranceId, в данном случае"welcome_utterance", используется для определения момента окончания произнесения текста. Подробнее см. в описанииUtteranceProgressListener.
Прерывание TTS
Если вашему приложению когда-либо потребуется прервать TTS, вызовите метод stop() :
// This interrupts the current utterance and discards other utterances in the queue.
tts?.stop()
...
Очистите ресурсы TTS
При уничтожении активности следует очистить ресурсы, вызвав метод shutdown() внутри метода onDestroy() активности:
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}