يستخدم نظام التشغيل Android Automotive OS (AAOS) علامات وإعدادات لتفعيل ميزات مختلفة، بدءًا من التوجيه الديناميكي إلى علامات الميزات الأكثر عمومية، مثل التحكّم في مستوى الصوت من خدمة السيارة. في ما يلي وصف علامات إعدادات AAOS الحالية لإدارة الصوت.
إبلاغ | الغرض | |
---|---|---|
audioUseDynamicRouting |
يتم تحديدها في ملف إعدادات خدمة السيارة لأجل
تفعيل توجيه AAOS.
يجب ضبط الإعداد على true . عند إيقاف false ،
توجيه الصوت ومعظم CarAudioService ، يعود نظام التشغيل
إلى السلوك التلقائي الموضّح في
ضبط سياسات الصوت.
|
|
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 (القيمة التلقائية)، يمكن إعادة توجيه أحداث التحكّم
في مستوى الصوت إلى التطبيق الذي يعمل في المقدّمة، ويمكن أن يؤدي ذلك إلى نتائج
سلبية من إدارة أحداث التحكّم في مستوى الصوت خارج خدمة الصوت في السيارة. |
إعدادات خدمة الصوت في السيارة
قبل 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/
.
طلبات الحصول على موافقة من الجهات التنظيمية لخدمات السيارات
منذ Android 13، يتيح نظام التشغيل AAOS استخدام
عمليات تراكب الموارد أثناء التشغيل. استخدِم إذن الوصول إلى مساحة تخزين جهاز الجوّال (RRO) لتغيير قيمة إعدادات الصوت في السيارة. على سبيل المثال، يمكنك الاطّلاع على أحكام RRO لمرجع 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_ROUTING
AUDIO_FEATURE_VOLUME_GROUP_MUTING
AUDIO_FEATURE_OEM_AUDIO_SERVICE
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
AUDIO_FEATURE_AUDIO_MIRRORING