سیستم عامل اندروید اتوموتیو (AAOS) از پرچمها و پیکربندیهایی برای فعال کردن ویژگیهای مختلف استفاده میکند، از مسیریابی پویا گرفته تا پرچمهای ویژگی عمومیتر، مانند کنترل صدا از سرویس خودرو. پرچمهای پیکربندی فعلی AAOS برای مدیریت صدا در اینجا شرح داده شدهاند.
| پرچم | هدف |
|---|---|
audioUseDynamicRouting | در فایل پیکربندی سرویس خودرو، گزینه Enable AAOS routing تعریف شده است. پیکربندی باید روی true تنظیم شود. وقتی false ، مسیریابی و بخش عمدهای از CarAudioService غیرفعال میشوند و سیستم عامل به رفتار پیشفرض شرح داده شده در Configuration audio policies برمیگردد. |
useCoreAudioRouting | در فایل پیکربندی سرویس خودرو تعریف شده است تا مدیریت مسیریابی صوتی هسته AAOS را فعال کند . وقتی مقدار آن روی true تنظیم شود، سرویس صوتی خودرو از تعاریف پیکربندی تنظیم شده با موتور سیاست صوتی قابل تنظیم استفاده میکند. اگر مقدار آن روی false تنظیم شود، مدیریت مسیریابی به استفاده از تعریف ترکیب سیاست صوتی پویای سرویس صوتی خودرو که با استفاده از audioUseDynamicRouting پیکربندی شده است، بازمیگردد. |
useCoreAudioVolume | در فایل پیکربندی سرویس خودرو تعریف شده است تا مدیریت حجم صدای هسته AAOS را فعال کند . وقتی مقدار روی true تنظیم شود، سرویس صدای خودرو از تعاریف گروههای حجم صدا که با موتور سیاست صوتی قابل تنظیم تنظیم شدهاند استفاده میکند. اگر مقدار روی false تنظیم شود، مدیریت حجم صدا به استفاده از تعریف گروه حجم صدای پیشفرض سرویس صدای خودرو که با استفاده از audioUseDynamicRouting پیکربندی شده است، برمیگردد. |
audioUseCarVolumeGroupMuting | در فایل پیکربندی سرویس خودرو تعریف شده است تا بیصدا کردن گروههای صدای مجزا را فعال کند. وقتی روی false تنظیم شود (مقدار پیشفرض)، بیصدا کردن گروههای صدای مجزا غیرفعال میشود. در عوض، بیصدا کردن، بیصدا کردن اصلی را تغییر میدهد. وقتی روی true تنظیم شود، بیصدا کردن گروه صدای خودرو فعال میشود و هر گروه صدای مجزا میتواند جداگانه بیصدا شود. وقتی true ، بیصدا کردن گروه صدای خودرو باید در Audio Control HAL پیادهسازی شود. |
audioUseHalDuckingSignals | در فایل پیکربندی سرویس خودرو تعریف شده است تا API مربوط به IAudioControl#onDevicesToDuckChange را قادر سازد تا به HAL اطلاع دهد چه زمانی باید از حالت سکون خارج شود. وقتی true (مقدار پیشفرض) باشد، API سیگنالهایی دریافت میکند که نشان میدهد کدام دستگاههای خروجی باید از حالت سکون خارج شوند و چه کاربردهایی فوکوس را نگه میدارند. وقتی false ، API فراخوانی نمیشود. API فراخوانی نمیشود مگر اینکه Audio Control HAL حالت سکون را پیادهسازی کند. |
config_oemCarService | این نام کامپوننت برای سرویس سفارشیسازی OEM است که در فایل پیکربندی سرویس خودرو تعریف شده است. تولیدکنندگان اصلی تجهیزات میتوانند این سرویس را برای سفارشیسازی اقدامات سرویس خودرو برای سیاستهای مختلف پیادهسازی کنند. اگر تولیدکنندگان اصلی تجهیزات تصمیم به پیادهسازی این کامپوننت بگیرند، باید سرویسی را برای گسترش OemCarService که توسط car-lib ارائه میشود، پیادهسازی کنند و سپس سرویسهای کامپوننت مورد نیاز را پیادهسازی کنند. بهطور خاص برای سرویس صوتی خودرو، تولیدکنندگان اصلی تجهیزات میتوانند هر یک از زیرسرویسهای صوتی را برای مدیریت اقدامات صوتی پیادهسازی کنند. برای جزئیات بیشتر، به سرویس افزونه صوتی خودرو مراجعه کنید. اگر نام کامپوننت نامعتبر باشد، CarService به هیچ سرویس OEM متصل نمیشود. نام کامپوننت نمیتواند یک بسته شخص ثالث باشد. باید از قبل نصب شده باشد. |
audioVolumeAdjustmentContextsVersion | در فایل پیکربندی سرویس خودرو تعریف شده است، پیکربندی برای انتخاب نسخه فهرست اولویت زمینه تنظیم صدا. نسخه ۱ شامل تمام زمینههای صوتی، به ترتیب زیر است:
نسخه ۲ به ترتیب به زمینههای زیر محدود میشود. نسخه پیشفرض
|
audioPersistMasterMuteState | در فایل پیکربندی سرویس خودرو تعریف شده است، پیکربندی برای حفظ حالت بیصدای سراسری. وقتی مقدار پیشفرض true ، اندروید حالت بیصدای سراسری را هنگام بوت بازیابی میکند. وقتی audioUseCarVolumeGroupMuting برابر با true باشد، این هیچ تاثیری بر تغییرات بیصدای مداوم ندارد زیرا تغییرات بیصدا بر اساس گروههای صدای مجزا انجام میشوند. مقدار پیشفرض روی true تنظیم شده است و وقتی بیصدای اصلی نباید برای یک دستگاه حفظ شود، باید بازنویسی شود. |
audioVolumeKeyEventTimeoutMs | در فایل پیکربندی سرویس خودرو تعریف شده است، پیکربندی برای نشان دادن زمان وقفه بر حسب میلیثانیه در حالی که یک گروه صدای خودرو برای تغییرات کنترل صدا در طول رویدادهای کلید صدا فعال در نظر گرفته میشود. این پیکربندی به شرح زیر استفاده میشود:
مقدار پیشفرض |
audioUseCarVolumeGroupEvent | در فایل پیکربندی سرویس خودرو تعریف شده است، پیکربندی برای فعال کردن رویدادهای پاسخ به تماس به گروههای حجمی. وقتی true ، کلاینتها از طریق ICarVolumeGroupEvent به رویدادهایی که بر گروههای حجمی تأثیر میگذارند، پاسخ به تماس دریافت میکنند. وقتی فعال باشد:
مقدار پیشفرض |
config_useFixedVolume | در frameworks/base/core/res/res/values/config.xml تعریف شده است. باید روی true تنظیم شود تا سرویس صوتی خودرو بتواند کنترل صدا را مدیریت کند. وقتی پرچم config_useFixedVolume تنظیم نشده باشد یا روی false تنظیم شده باشد (مقدار پیشفرض)، برنامهها میتوانند APIهای مدیریت صدا AudioManager را فراخوانی کرده و صدا را بر اساس نوع جریان در میکسر نرمافزاری تغییر دهند. این ممکن است به دلیل تأثیر بالقوه بر سایر برنامهها و این واقعیت که تضعیف صدا در میکسر نرمافزاری میتواند منجر به کاهش بیتهای قابل توجه موجود در سیگنال هنگام دریافت در تقویتکننده سختافزاری شود، نامطلوب باشد. دستگاههای جدیدی که پیکربندی نشدهاند و روی true تنظیم شدهاند، تغییرات صدا را از طریق APIهای صدا و بیصدا AudioManager دریافت میکنند. |
config_handleVolumeKeysInWindowManager | در frameworks/base/core/res/res/values/config.xml تعریف شده است، باید روی true تنظیم شود تا سرویس صوتی خودرو بتواند رویدادهای کلید صدا را رهگیری کند. اگر روی false تنظیم شود (مقدار پیشفرض)، رویدادهای کلید صدا میتوانند به برنامه پیشزمینه ارسال شوند و میتوانند منجر به نتایج نامطلوبی از مدیریت رویداد کلید صدا در خارج از سرویس صوتی خودرو شوند. |
audioUseMinMaxActivationVolume | در فایل پیکربندی سرویس خودرو تعریف شده است تا حداقل و حداکثر حجم فعالسازی را فعال کند. وقتی true ، شاخص افزایش حجم میتواند به دلیل مدیریت حداقل و حداکثر حجم فعالسازی تنظیم شود. وقتی false (مقدار پیشفرض)، حداقل و حداکثر حجم فعالسازی اعمال نمیشوند. |
audioUseFadeManagerConfiguration | در فایل پیکربندی سرویس خودرو تعریف شده است تا رفتار از دست دادن فوکوس صوتی اعمال شده توسط سیستم را فعال کند. وقتی true ، چارچوب صوتی خودرو تعاریف پیکربندی محو شدن صدای خودرو را تجزیه میکند و FadeManagerConfiguration مربوطه را هنگام ارسال از دست دادن فوکوس صوتی اعمال میکند. وقتی مقدار false (مقدار پیشفرض)، سیستم هنگام از دست دادن فوکوس صوتی یک برنامه، رفتار محو شدن را اعمال نمیکند. |
پیکربندی خدمات صوتی خودرو
قبل از اندروید ۱۳، پیکربندیهای سرویس خودرو با یک پوشش پیکربندی محصول (برای کسب اطلاعات بیشتر، به سفارشیسازی ساخت با پوششهای منابع مراجعه کنید) برای فایل packages/services/Car/service/res/values/config.xml رونویسی میشدند.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
محل فایل پیکربندی از <path_to_overlay> تا محل واقعی باید شامل packages/services/Car/service/res/values/ باشد.
RRO های خدمات خودرو
از اندروید ۱۳ به بعد، AAOS از Runtime resource overlays پشتیبانی میکند. از یک RRO برای تغییر مقدار پیکربندی صدای خودرو استفاده کنید. برای مثال، به RROها برای مرجع automobile cuttlefish در device/google/cuttlefish/shared/auto/rro_overlay/ مراجعه کنید. پیکربندی audioUseDynamicRouting در device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml بازنویسی شده است.
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
نقشه همپوشانی منابع در device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml قرار دارد:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
فایل resource overlay manifest که در device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml تعریف شده است، شامل targetPackage تنظیم شده به صورت com.android.car.updatable است.
برای اطلاعات بیشتر به این منابع مراجعه کنید:
API با قابلیت فعالسازی
اگر ویژگی روی دستگاه فعال باشد، این متد true در غیر این صورت false را برمیگرداند. در API CarAudioManager#isAudioFeatureEnabled ، پارامتر ارسالی باید یکی از موارد زیر باشد:
-
AUDIO_FEATURE_DYNAMIC_ROUTING -
AUDIO_FEATURE_VOLUME_GROUP_MUTING -
AUDIO_FEATURE_OEM_AUDIO_SERVICE -
AUDIO_FEATURE_VOLUME_GROUP_EVENTS -
AUDIO_FEATURE_AUDIO_MIRRORING