API службы голосового взаимодействия обеспечивает абстракцию различных потенциальных приложений голосового управления. Реализации могут быть разработаны в соответствии с рекомендациями, описанными в разделе «Разработка приложений» . Содержание этого руководства по интеграции описывает, как интегрировать эти приложения в конкретный образ системы Android Automotive OS (AAOS).
Терминология
В данном руководстве используются следующие термины:
- Вспомогательные данные. При запуске сеанса голосового взаимодействия система может захватывать изображения и снимки экрана и передавать эту информацию в сеанс. Приложения могут предоставлять дополнительную информацию, реализуя
Activity#onProvideAssistData()
иActivity#onProvideAssistContent()
. - Нажми и говори (РТТ) . Физическая кнопка голосового управления, обычно расположенная на руле.
- Служба распознавания (РС). Служба распознавания голоса, используемая приложениями через API
SpeechRecognizer
. VIA должны включать в себя какVoiceInteractionService
, так иRecognitionService
. - Нажмите и говорите (ТТТ) . Кнопка голосового управления программным обеспечением, обычно включенная в системный интерфейс). В Android это также называется Assist Gesture .
-
VoiceInteractionService
. Облегченный системный сервис, реализованный разработчиком VIA. Выбранная служба связана с системной службой при загрузке и всегда работает. - Сеанс голосового взаимодействия (VIS). Этот класс инкапсулирует бизнес-логику взаимодействия с пользователем. Он отвечает за представление пользователю статуса голосового взаимодействия, обработку запросов VoiceInteractor и получение вспомогательных данных и данных снимков экрана.
- VoiceInteractionSessionService (VSS). Служба, входящая в состав VIA, отвечающая за обработку сеанса голосового взаимодействия. Эта служба привязывается к системной службе Android во время голосового взаимодействия с пользователем. Вся бизнес-логика этого сеанса реализована в классе
VoiceSession
. Гарантировано, что эта служба будет работать только в течение одного голосового сеанса пользователя. - Приложение голосового взаимодействия (VIA). Приложение для Android, предназначенное для голосового управления (называемого помощником ). Эти приложения можно идентифицировать, включив
VoiceInteractionService
в их манифест. Только одно из этих приложений может быть выбрано в системе по умолчанию одновременно. Только приложение по умолчанию будет поддерживаться в рабочем состоянии (связанное с системной службой) и будет получателем событий Push-To-Talk (PTT) или Tap-To-Talk (TTT) .
Обязанности
В этой таблице описаны обязанности каждой стороны.
Производители автомобилей (OEM) | АОСП | Разработчики приложений |
---|---|---|
|
|
|
UX-требования
OEM-производители несут основную ответственность за обеспечение хорошего пользовательского опыта для клиентов. OEM-производители должны убедиться, что все предустановленные службы голосового взаимодействия соответствуют требованиям, описанным в разделе «Предварительно загруженные помощники: руководство по пользовательскому интерфейсу» .
Основной опыт помощника
Автомобильное приложение голосового взаимодействия (VIA) выполняет следующие действия:
- [ОБЯЗАТЕЛЬНО] Реагировать на триггеры голосового взаимодействия, управляемые системой (PTT, TTT).
- [ОБЯЗАТЕЛЬНО] Отображать визуальное представление их прогресса (например, прослушивание, обработка и выполнение).
- [ОБЯЗАТЕЛЬНО] Используйте голос или звуки, чтобы указать на понимание и выполнение запросов пользователя.
- [ОБЯЗАТЕЛЬНО] Служить распознавателем речи для других приложений (см. SpeechRecouncer API ).
- [СЛЕДУЕТ] Реагировать на триггер горячего слова.
- [МОЖЕТ] Отобразить действие настроек, в котором пользователи могут настроить этот VIA (например, разрешения, настройку горячих слов и вход в систему).
- [МОЖЕТ] Обработка вспомогательных данных (
Intent#ACTION_ASSIST
) - [МОЖЕТ] Поддержка голосового взаимодействия с Keyguard (экран блокировки).
Компоненты
На высоком уровне приложение голосового взаимодействия взаимодействует со следующими актерами:
Рисунок 1. Участники голосового взаимодействия
Подробности:
-
VoiceInteractionManagerService
. Эта системная служба отвечает за управление VIA по умолчанию и предоставление его функций остальной части системы. -
RecognitionService
. Эта служба предоставляет возможности распознавания речи другим приложениям в системе. -
SoundTrigger
. Реализует управление горячими словами и доступно VIA через AlwaysOnHotwordDetector. -
MediaRecorder
. Обеспечивает доступ к аудиовходу как для обнаружения горячих слов (при использовании ЦП), так и для распознавания речи. -
PhoneWindowManager
/CarInputService
. Эти службы отвечают (помимо прочего) за обработку ключевых событий, маршрутизацию PTT к VIA с помощьюVoiceInteractionManagerService
. -
User
. Пользователь взаимодействует с VIA посредством триггеров (PTT, TTT, Hotword) или пользовательского интерфейса голосовой панели. - CarService, Уведомления, Медиа, Телефония, Поставщик контактов и так далее. Службы и приложения, используемые VoiceInteractionSession для выполнения команд пользователя.
Концепции, специфичные для автомобильной промышленности
AAOS отличается от Android в следующих аспектах:
- Помимо обычных функций Assistant, AAOS VIA может управлять функциями автомобиля (например, системой отопления, вентиляции и кондиционирования, сиденьями и внутренним освещением). Эти функции можно интегрировать с помощью API CarPropertyManager (подробнее см. в разделе «Чтение свойства транспортного средства ») при условии, что OEM-производители правильно настроят доступ, как описано в разделе «Белый список привилегированных разрешений ».
- Кастомизация и согласованность более актуальны в автомобильной промышленности, чем в любом другом форм-факторе. См. раздел «Настройка» , чтобы узнать больше о реализации этих рекомендаций.