يستخدم نظام التشغيل Android Automotive OS (AAOS) العلامات والإعدادات لتفعيل ميزات مختلفة، بدءًا من التوجيه الديناميكي وصولاً إلى علامات الميزات الأكثر عمومية، مثل التحكّم في مستوى الصوت من خدمة السيارة. في ما يلي وصف لعلامات إعدادات AAOS الحالية لإدارة الصوت.
| علم | الغرض |
|---|---|
audioUseDynamicRouting |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة لتفعيل توجيه AAOS.
يجب ضبط الإعداد على true. عند ضبطه على false، يتم إيقاف
التوجيه والكثير من CarAudioService، ويعود نظام التشغيل
إلى السلوك التلقائي الموضّح في
ضبط سياسات الصوت.
|
useCoreAudioRouting |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة لـ
تفعيل إدارة توجيه الصوت الأساسي في AAOS.
عند ضبط القيمة على true، تستخدم خدمة الصوت في السيارة
تعريفات الإعدادات التي تم ضبطها باستخدام
محرّك سياسة الصوت القابل للإعداد.
إذا تم ضبط القيمة على false، تعود إدارة التوجيه إلى استخدام تعريف مزيج سياسة الصوت الديناميكية لخدمة الصوت في السيارة كما تم ضبطه باستخدام audioUseDynamicRouting.
|
useCoreAudioVolume |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة لتفعيل إدارة مستوى الصوت الأساسي في AAOS.
عند ضبط القيمة على true، تستخدم خدمة الصوت في السيارة
تعريفات مجموعات مستوى الصوت التي تم ضبطها باستخدام
محرّك سياسة الصوت القابل للإعداد.
إذا تم ضبط القيمة على false، تعود إدارة مستوى الصوت إلى استخدام تعريف مجموعة مستوى الصوت التلقائية لخدمة الصوت في السيارة كما تم ضبطه باستخدام audioUseDynamicRouting.
|
audioUseCarVolumeGroupMuting |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة لتفعيل كتم مجموعات مستوى الصوت الفردية. عند ضبطها على false (القيمة التلقائية)، يتم إيقاف كتم مجموعات مستوى الصوت الفردية. بدلاً من ذلك، يؤدي الكتم إلى تبديل الكتم الرئيسي.
عند ضبطها على true، يتم تفعيل كتم مجموعة مستوى الصوت في السيارة ويمكن كتم كل
مجموعة مستوى صوت فردية على حدة. عند ضبطها على true، يجب تنفيذ كتم مجموعة مستوى الصوت في Audio Control HAL.
|
audioUseHalDuckingSignals |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة لتفعيل واجهة برمجة التطبيقات
IAudioControl#onDevicesToDuckChange لإبلاغ HAL بموعد
خفض مستوى الصوت. عند ضبطها على true (القيمة التلقائية)، تتلقّى واجهة برمجة التطبيقات إشارات تشير إلى أجهزة الإخراج التي يجب خفض مستوى صوتها والاستخدامات التي تحتفظ بالتركيز. عند ضبطها على false، لا يتم طلب واجهة برمجة التطبيقات. لا يتم طلب واجهة برمجة التطبيقات إلا إذا نفّذت
Audio Control HAL
ميزة خفض مستوى الصوت.
|
config_oemCarService |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة، وهي اسم المكوّن لـ
خدمة التخصيص من قِبل الشركة المصنّعة للمعدات الأصلية. يمكن للشركات المصنّعة للمعدات الأصلية اختيار تنفيذ هذه الخدمة لـ
تخصيص إجراءات خدمة السيارة لسياسات مختلفة. إذا اختارت الشركات المصنّعة للمعدات الأصلية تنفيذ هذا المكوّن، عليها تنفيذ خدمة لتوسيع
OemCarService التي تعرضها car-lib، ثم تنفيذ
خدمات المكوّنات المطلوبة. بالنسبة إلى خدمة الصوت في السيارة على وجه التحديد، يمكن للشركات المصنّعة للمعدات الأصلية
تنفيذ أي من الخدمات الفرعية الصوتية لإدارة إجراء الصوت. لمعرفة
التفاصيل، يُرجى الاطّلاع على
Car Audio Plugin Service.
إذا كان اسم المكوّن غير صالح، لن تتصل CarService بأي خدمة من خدمات الشركة المصنّعة للمعدات الأصلية. لا يمكن أن يكون اسم المكوّن حزمة تابعة لجهة خارجية. يجب أن يكون مثبّتًا مسبقًا. |
audioVolumeAdjustmentContextsVersion |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة، وهي إعدادات لاختيار إصدار قائمة أولويات سياقات ضبط مستوى الصوت. يتضمّن الإصدار 1 جميع السياقات الصوتية، بهذا الترتيب:
يقتصر الإصدار 2 على السياقات التالية، بهذا الترتيب. الإصدار التلقائي هو
|
audioPersistMasterMuteState |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة، وهي إعدادات للاحتفاظ بحالة الكتم العامة. عند ضبطها على true (القيمة التلقائية)، يستعيد Android حالة الكتم العامة عند بدء التشغيل. عند ضبط audioUseCarVolumeGroupMuting على
true، لن يؤثر ذلك في الاحتفاظ بتغييرات الكتم لأنّ تغييرات الكتم تستند إلى مجموعات مستوى الصوت الفردية. يتم ضبط القيمة التلقائية على
true ويجب إلغاؤها عندما لا يجب
الاحتفاظ بالكتم الرئيسي لجهاز معيّن. |
audioVolumeKeyEventTimeoutMs |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة، وهي إعدادات للإشارة إلى المهلة بالملّي ثانية أثناء اعتبار مجموعة مستوى صوت السيارة نشطة لإجراء تغييرات في التحكّم في مستوى الصوت أثناء أحداث مفتاح مستوى الصوت. يتم استخدام الإعداد على النحو التالي:
القيمة التلقائية هي |
audioUseCarVolumeGroupEvent |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة، وهي إعدادات لتفعيل أحداث معاودة الاتصال
بمجموعات مستوى الصوت. عند ضبطها على true، يتلقّى العملاء معاودة الاتصال
من خلال ICarVolumeGroupEvent للأحداث التي تؤثر في مجموعات مستوى الصوت. عند تفعيلها:
القيمة التلقائية هي |
config_useFixedVolume |
يتم تحديد هذه العلامة في frameworks/base/core/res/res/values/config.xml.
يجب ضبطها على true للسماح لخدمة الصوت في السيارة بإدارة
التحكّم في مستوى الصوت. عندما لا يتم ضبط العلامة config_useFixedVolume أو يتم ضبطها على false (القيمة التلقائية)، يمكن للتطبيقات طلب واجهات برمجة التطبيقات لإدارة مستوى الصوت في AudioManager وتغيير مستوى الصوت حسب نوع البث في برنامج المزج. قد يكون هذا غير مرغوب فيه بسبب الـ
تأثير المحتمَل في التطبيقات الأخرى وحقيقة أنّ تخفيف مستوى الصوت في الـ
برنامج المزج يمكن أن يؤدي إلى توفّر عدد أقل من البتات المهمة في الـ
إشارة عند تلقّيها في مضخّم الأجهزة. تتلقّى الأجهزة الجديدة التي لم يتم
ضبطها والتي تم ضبطها على true تغييرات مستوى الصوت
من خلال واجهات برمجة التطبيقات لمستوى الصوت والكتم في AudioManager.
|
config_handleVolumeKeysInWindowManager |
يتم تحديد هذه العلامة في frameworks/base/core/res/res/values/config.xml، ويجب ضبطها على true للسماح لخدمة الصوت في السيارة باعتراض أحداث مفتاح مستوى الصوت. إذا تم ضبطها على false (القيمة التلقائية)، يمكن إعادة توجيه أحداث مفتاح مستوى الصوت إلى التطبيق الذي يظهر في المقدّمة ويمكن أن يؤدي ذلك إلى نتائج سلبية من إدارة أحداث مفتاح مستوى الصوت خارج خدمة الصوت في السيارة. |
audioUseMinMaxActivationVolume |
يتم تحديد هذه العلامة في ملف إعدادات خدمة السيارة لتفعيل
الحدّ الأدنى والأقصى لمستوى صوت التفعيل. عند ضبطها على
true، يمكن تعديل فهرس زيادة مستوى الصوت بسبب
إدارة الحدّ الأدنى والأقصى لمستوى صوت التفعيل. عند ضبطها على
false (القيمة التلقائية)، لا يسري الحدّ الأدنى والأقصى لمستوى صوت التفعيل.
|
audioUseFadeManagerConfiguration |
يتم تحديد هذه العلامة في ملف إعداد خدمة السيارة لتفعيل سلوك فقدان أولويّة الصوت المفروض من النظام. عند ضبطها على true، يحلّل إطار عمل الصوت في السيارة تعريفات إعدادات التلاشي الصوتي في السيارة ويطبّق FadeManagerConfiguration المعني عند إرسال إشعار بفقدان أولويّة الصوت. عند ضبطها على false (القيمة التلقائية)، لا يفرض النظام سلوك التلاشي عندما يفقد أحد التطبيقات أولويّة الصوت.
|
إعدادات خدمة الصوت في السيارة
قبل Android 13، كانت إعدادات خدمة السيارة يتم استبدالها
بتراكب إعدادات المنتج (لمعرفة المزيد، يُرجى الاطّلاع على
تخصيص الإصدار باستخدام تراكبات الموارد)
لملف packages/services/Car/service/res/values/config.xml.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
يجب أن يتضمّن مسار ملف الإعدادات من <path_to_overlay> إلى الموقع الفعلي
يجب أن يتضمّن packages/services/Car/service/res/values/.
تراكبات الموارد في وقت التشغيل (RRO) لخدمة السيارة
بدءًا من Android 13، يتيح نظام التشغيل AAOS استخدام
تراكبات الموارد في وقت التشغيل. استخدِم تراكب الموارد في وقت التشغيل لتغيير قيمة إعدادات الصوت في السيارة. على سبيل المثال، اطّلِع على تراكبات الموارد في وقت التشغيل للمرجع
في السيارات 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>
يحتوي بيان تراكب الموارد المحدّد في device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml على targetPackage الذي تم ضبطه على com.android.car.updatable.
لمزيد من المعلومات، يُرجى الاطّلاع على هذه المراجع:
واجهة برمجة التطبيقات المفعّلة للميزة
تعرض الطريقة true إذا كانت الميزة مفعّلة على الجهاز، وfalse بخلاف ذلك. في واجهة برمجة التطبيقات CarAudioManager#isAudioFeatureEnabled، يجب أن تكون المَعلمة التي تم تمريرها إحدى القيم التالية:
AUDIO_FEATURE_DYNAMIC_ROUTINGAUDIO_FEATURE_VOLUME_GROUP_MUTINGAUDIO_FEATURE_OEM_AUDIO_SERVICEAUDIO_FEATURE_VOLUME_GROUP_EVENTSAUDIO_FEATURE_AUDIO_MIRRORING