Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release
вместо aosp-main
для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
О голосовом взаимодействии
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
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) | АОСП | Разработчики приложений | - Создайте совместимую информационно-развлекательную систему с AAOS.
- Реализуйте аудиовход и выход, опционально включая поддержку обнаружения горячих слов DSP.
- Предоставьте системные разрешения для служб голосового взаимодействия.
- Соблюдайте требования
VoiceInteractionService относительно доступа к экранам настроек приложения.
| - Определите и развивайте
VoiceInteractionService и связанные API. - Предоставьте разработчикам VIA документацию по API, пример кода и другие вспомогательные материалы.
- Предоставьте руководство по UX с требованиями и рекомендациями.
| - Внедрите API
VoiceInteractionService , API RecognitionService и API NotificationListenerService (см. подробное описание в разделе «Разработка приложений »). - Предоставьте настраиваемый пользовательский интерфейс, который 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-производители правильно настроят доступ, как описано в разделе «Белый список привилегированных разрешений» .
- Кастомизация и согласованность более актуальны в автомобильной промышленности, чем в любом другом форм-факторе. См. раздел «Настройка» , чтобы узнать больше о реализации этих рекомендаций.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# About voice interaction\n\nThe Voice Interaction Service API provides an abstraction over different\npotential voice control apps. Implementations can be developed following the guidelines\ndescribed in\n[App development](/docs/automotive/voice/voice_interaction_guide/app_development).\nThe content in this integration guide describes how to integrate these apps into\na specific Android Automotive OS (AAOS) system image.\n\nTerminology\n-----------\n\nThese terms are used through this guide:\n\n- **Assist data.** When a voice interaction session is started, the system is able to capture views and screenshots, and pass this information to the session. Apps can expose additional information by implementing [Activity#onProvideAssistData()](https://developer.android.com/reference/android/app/Activity#onProvideAssistData(android.os.Bundle)) and [Activity#onProvideAssistContent()](https://developer.android.com/reference/android/app/Activity#onProvideAssistContent(android.app.assist.AssistContent)).\n- **[Push-to-talk (PTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_PUSH_TO_TALK)**. Physical voice control button, usually located in the steering wheel.\n- **RecognitionService (RS).** Voice recognition service used by apps through the [SpeechRecognizer](https://developer.android.com/reference/android/speech/SpeechRecognizer)`\n ` API. VIAs must include both the `VoiceInteractionService` *and* the `RecognitionService`.\n- **[Tap-to-talk (TTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_ASSIST_GESTURE)** . Software voice control button, usually included as part of the system UI). In Android this is also referred to as *Assist Gesture*.\n- **[VoiceInteractionService](https://developer.android.com/reference/android/service/voice/VoiceInteractionService)**. Lightweight system service implemented by the VIA developer. The selected service is bound from system service on boot, and is always running.\n- **VoiceInteractionSession (VIS).** This class encapsulates the user interaction business logic. It is responsible for presenting the user with status of the voice interaction, handling VoiceInteractor requests and receiving assist and screenshot data.\n- **VoiceInteractionSessionService (VSS).** A service, part of a VIA, responsible for handling a voice interaction session. This service is bound from Android's system service during a voice interaction with a user. All business logic of this session is implemented in the `VoiceSession` class. This service is only guaranteed to stay alive during a single user voice session.\n- **Voice Interaction App (VIA).** Android app designed to serve as a voice control (referred to as *assistant* ). These apps can be identified by including a `VoiceInteractionService` in their manifest. Only one of these apps can be selected as *default* at a time in the system. Only the default app will be maintained alive (bound from a system service), and will be the receiver of [Push-To-Talk (PTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_PUSH_TO_TALK) or [Tap-To-Talk (TTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_ASSIST_GESTURE) events.\n\nResponsibilities\n----------------\n\nThis table describes the responsibilities of each party.\n\n| Car Manufacturers (OEMs) | AOSP | App Developers |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| - Build a [compatible](/compatibility/android-cdd) infotainment system with AAOS. - Implement audio input and output, optionally including DSP hotword detection support. - Grant system-privileged permissions for the voice interaction services. - Respect `VoiceInteractionService` requirements regarding access to app's settings screens. | - Define and evolve `VoiceInteractionService` and related APIs. - Provide API documentation, sample code and other support material to VIA developers. - Provide UX guidance with requirements and recommendations. | - Implement `VoiceInteractionService` API, RecognitionService API and NotificationListenerService API (see detailed description at [App development](/docs/automotive/voice/voice_interaction_guide/app_development)). - Provide a customizable UI that can be adjusted by OEMs to match each car design system. |\n\nUX requirements\n---------------\n\nOEMs have the ultimate responsibility of providing a good user experience to customers.\nOEMs must ensure that the all pre-installed voice interaction services fulfill the\nrequirements described in\n[Preloaded Assistants: UX Guidance](/static/docs/automotive/voice/voice_interaction_guide/preloaded-assistants_UX-guidelines.pdf).\n\nCore assistant experience\n-------------------------\n\nAn automotive Voice Interaction Application (VIA) performs the following actions:\n\n- \\[MUST\\] Respond to system-handled voice interaction triggers (PTT, TTT).\n- \\[MUST\\] Display a visual representation of their progress (for example, listening, processing, and fulfilling).\n- \\[MUST\\] Use voice or sounds to indicate understanding and completion of user requests.\n- \\[MUST\\] Serve as a speech recognizer for other apps (see the [SpeechRecognizer\n API](https://developer.android.com/reference/android/speech/SpeechRecognizer)).\n- \\[SHOULD\\] Respond to a hotword trigger.\n- \\[MAY\\] Display a settings activity where users can configure this VIA (for example, permissions, hotword configuration, and sign-in).\n- \\[MAY\\] Handle assist data ([Intent#ACTION_ASSIST](https://developer.android.com/reference/android/content/Intent#ACTION_ASSIST))\n- \\[MAY\\] Support voice interaction from Keyguard (lock screen).\n\nComponents\n----------\n\nAt a high level, a voice interaction app interacts with these actors:\n\n**Figure 1.** Voice interaction actors\n\nDetails:\n\n- `VoiceInteractionManagerService`. This system service is responsible for managing the default VIA, and exposing its functionality to the rest of the system.\n- `RecognitionService`. This service exposes speech recognition capabilities to other apps in the system.\n- `SoundTrigger`. Implements hotword management and it's available to VIAs through the AlwaysOnHotwordDetector.\n- `MediaRecorder`. Provides access to audio input for both hotword detection (when using CPU) and speech recognition.\n- `PhoneWindowManager`/`CarInputService`. These services are responsible (among other things) for handling key events, routing PTT to the VIA, by means of the `VoiceInteractionManagerService`.\n- `User`. The user interacts with a VIA by means of Triggers (PTT, TTT, Hotword) or the Voice Plate UI.\n- **CarService, Notifications, Media, Telephony, ContactsProvider, and so on.** Services and apps used by the VoiceInteractionSession to fulfill the user's commands.\n\nAutomotive-specific concepts\n----------------------------\n\nAAOS diverges from Android in the following aspects:\n\n- Besides normal Assistant functionalities, AAOS VIAs can control vehicle functions (for example, HVAC, seats, and interior lights). These functionalities can be integrated using the CarPropertyManager API (see more at [Read a\n vehicle property](/docs/automotive/voice/voice_interaction_guide/fulfilling_commands#vehicle-property)) provided OEMs configure access correctly as described in [Privileged permission allowlisting](/docs/core/permissions/perms-allowlist).\n- Customization and consistency are more relevant in Automotive than in any other form factor. See [Customization](/docs/automotive/voice/voice_interaction_guide/integration_flows#customization) to read more about implementing these guidelines."]]