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 | توسعه دهندگان برنامه |
---|---|---|
|
|
|
الزامات 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ها دسترسی را بهدرستی پیکربندی کنند، همانطور که در لیست اجازههای مجوز اختصاص داده شده است.
- سفارشی سازی و سازگاری در خودرو بیش از هر عامل دیگری مرتبط است. برای مطالعه بیشتر در مورد اجرای این دستورالعمل ها، به سفارشی سازی مراجعه کنید.