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