از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
درباره تعامل صوتی
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Voice Interaction Service API یک انتزاع از برنامه های مختلف کنترل صوتی بالقوه ارائه می دهد. پیاده سازی ها را می توان با پیروی از دستورالعمل های شرح داده شده در توسعه برنامه توسعه داد. محتوای این راهنمای ادغام نحوه ادغام این برنامهها را در یک تصویر سیستم خاص Android Automotive OS (AAOS) توضیح میدهد.
اصطلاحات
این اصطلاحات از طریق این راهنما استفاده می شوند:
- داده های کمکی هنگامی که یک جلسه تعامل صوتی شروع می شود، سیستم می تواند نماها و اسکرین شات ها را بگیرد و این اطلاعات را به جلسه ارسال کند. برنامهها میتوانند اطلاعات اضافی را با اجرای
Activity#onProvideAssistData()
و Activity#onProvideAssistContent()
افشا کنند. - فشار به صحبت (PTT) . دکمه کنترل صوتی فیزیکی که معمولاً در فرمان قرار دارد.
- Recognition Service (RS). سرویس تشخیص صدا که توسط برنامه ها از طریق
SpeechRecognizer
API استفاده می شود. VIAها باید هم شامل VoiceInteractionService
و هم RecognitionService
باشند. - ضربه زدن برای صحبت (TTT) . دکمه کنترل صوتی نرم افزار، که معمولاً به عنوان بخشی از رابط کاربری سیستم گنجانده می شود). در اندروید به آن Assist Gesture نیز گفته می شود.
-
VoiceInteractionService
. سرویس سیستم سبک وزن که توسط توسعه دهنده VIA پیاده سازی شده است. سرویس انتخاب شده از سرویس سیستم در هنگام بوت محدود می شود و همیشه در حال اجرا است. - VoiceInteraction Session (VIS). این کلاس منطق تجاری تعامل کاربر را در بر می گیرد. مسئول ارائه وضعیت تعامل صوتی به کاربر، رسیدگی به درخواستهای VoiceInteractor و دریافت کمک و دادههای اسکرین شات است.
- VoiceInteractionSessionService (VSS). یک سرویس، بخشی از یک VIA، که مسئول رسیدگی به یک جلسه تعامل صوتی است. این سرویس از سرویس سیستم اندروید در هنگام تعامل صوتی با کاربر محدود می شود. تمام منطق تجاری این جلسه در کلاس
VoiceSession
پیاده سازی شده است. این سرویس تنها در طول یک جلسه صدای کاربر تضمین شده است که زنده بماند. - برنامه تعامل صوتی (VIA). برنامه Android طراحی شده برای خدمت به عنوان یک کنترل صوتی (به عنوان دستیار نامیده می شود). این برنامهها را میتوان با قرار دادن
VoiceInteractionService
در مانیفست آنها شناسایی کرد. فقط یکی از این برنامه ها را می توان به عنوان پیش فرض در یک زمان در سیستم انتخاب کرد. فقط برنامه پیشفرض زنده نگه داشته میشود (مرتبط از یک سرویس سیستم)، و گیرنده رویدادهای Push-To-Talk (PTT) یا Tap-To-Talk (TTT) خواهد بود.
مسئولیت ها
این جدول وظایف هر یک از طرفین را شرح می دهد.
سازندگان خودرو (OEM) | AOSP | توسعه دهندگان برنامه | - یک سیستم اطلاعات سرگرمی سازگار با AAOS بسازید.
- ورودی و خروجی صدا را پیاده سازی کنید، به صورت اختیاری از جمله پشتیبانی تشخیص کلید واژه DSP.
- برای خدمات تعامل صوتی مجوزهای دارای امتیاز سیستم را اعطا کنید.
- به الزامات
VoiceInteractionService در مورد دسترسی به صفحه تنظیمات برنامه احترام بگذارید.
| -
VoiceInteractionService و APIهای مرتبط را تعریف و تکامل دهید. - اسناد API، کد نمونه و سایر مواد پشتیبانی را به توسعه دهندگان VIA ارائه دهید.
- راهنمایی UX را با الزامات و توصیهها ارائه دهید.
| -
VoiceInteractionService API، RecognitionService API و NotificationListenerService API را پیاده سازی کنید (توضیحات مفصل را در توسعه برنامه ببینید). - یک رابط کاربری قابل تنظیم ارائه دهید که می تواند توسط OEM ها برای مطابقت با هر سیستم طراحی خودرو تنظیم شود.
|
الزامات UX
OEM ها مسئولیت نهایی ارائه یک تجربه کاربری خوب به مشتریان را دارند. OEM ها باید اطمینان حاصل کنند که همه سرویس های تعامل صوتی از پیش نصب شده الزامات شرح داده شده در دستیاران از پیش بارگذاری شده: راهنمای UX را برآورده می کنند.
تجربه دستیار اصلی
یک برنامه تعامل صوتی خودرو (VIA) اقدامات زیر را انجام می دهد:
- [باید] به محرکهای تعامل صوتی مبتنی بر سیستم (PTT، TTT) پاسخ دهید.
- [MUST] نمایش تصویری از پیشرفت آنها (به عنوان مثال، گوش دادن، پردازش، و انجام دادن).
- [باید] از صدا یا صداها برای نشان دادن درک و تکمیل درخواستهای کاربر استفاده کنید.
- [باید] به عنوان یک تشخیص دهنده گفتار برای سایر برنامه ها خدمت کنید (به API SpeechRecognizer مراجعه کنید).
- [باید] به یک کلید واژه مهم پاسخ دهید.
- [MAY] نمایش فعالیت تنظیمات که در آن کاربران می توانند این VIA را پیکربندی کنند (به عنوان مثال، مجوزها، پیکربندی کلمه کلیدی، و ورود به سیستم).
- [ممکن است] مدیریت دادههای کمکی (
Intent#ACTION_ASSIST
) - [مه] از تعامل صوتی از Keyguard (صفحه قفل) پشتیبانی کنید.
اجزاء
در سطح بالایی، یک برنامه تعامل صوتی با این بازیگران تعامل دارد:

شکل 1. بازیگران تعامل صوتی
جزئیات:
-
VoiceInteractionManagerService
. این سرویس سیستم وظیفه مدیریت VIA پیشفرض و نمایش عملکرد آن را به بقیه سیستم بر عهده دارد. -
RecognitionService
. این سرویس قابلیت های تشخیص گفتار را در معرض سایر برنامه های سیستم قرار می دهد. -
SoundTrigger
. مدیریت کلمه کلیدی را اجرا می کند و از طریق AlwaysOnHotwordDetector در دسترس VIAها قرار می گیرد. -
MediaRecorder
. دسترسی به ورودی صوتی را هم برای تشخیص کلمه کلیدی (هنگام استفاده از CPU) و هم برای تشخیص گفتار فراهم می کند. -
PhoneWindowManager
/ CarInputService
. این سرویسها (از جمله موارد دیگر) مسئول رسیدگی به رویدادهای کلیدی، مسیریابی PTT به VIA، با استفاده از VoiceInteractionManagerService
هستند. -
User
. کاربر با استفاده از Triggers (PTT، TTT، Hotword) یا Voice Plate UI با یک VIA تعامل دارد. - CarService، Notifications، Media، Telephony، Contacts Provider و غیره. سرویسها و برنامههایی که VoiceInteractionSession برای اجرای دستورات کاربر استفاده میکنند.
مفاهیم خاص خودرو
AAOS از جنبه های زیر از Android جدا می شود:
- علاوه بر قابلیتهای معمولی دستیار، AAOS VIA میتواند عملکردهای خودرو (به عنوان مثال، تهویه مطبوع، صندلیها و چراغهای داخلی) را کنترل کند. این قابلیتها را میتوان با استفاده از CarPropertyManager API (بیشتر در خواندن ویژگی وسیله نقلیه ببینید) ادغام کرد، مشروط بر اینکه OEMها دسترسی را بهدرستی پیکربندی کنند، همانطور که در لیست اجازههای مجوز اختصاص داده شده است.
- سفارشی سازی و سازگاری در خودرو بیش از هر عامل دیگری مرتبط است. برای مطالعه بیشتر در مورد اجرای این دستورالعمل ها، به سفارشی سازی مراجعه کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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 بهوقت ساعت هماهنگ جهانی."],[],[],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."]]