يستخدم نظام التشغيل Android Automotive OS (AAOS) علامات وإعدادات لتفعيل ميزات مختلفة، بدءًا من التوجيه الديناميكي إلى علامات الميزات الأكثر عمومية، مثل التحكّم في مستوى الصوت من خدمة السيارة. يمكنك الاطّلاع هنا على علامات إعدادات AAOS الحالية الخاصة بإدارة الصوت.
إبلاغ | الغرض |
---|---|
audioUseDynamicRouting |
يتم تحديدها في ملف إعدادات خدمة السيارة من أجل
تفعيل توجيه AAOS.
يجب ضبط الإعداد على true . عند ضبط القيمة على false ، يتم إيقاف التوجيه ومعظم CarAudioService ، ويعود نظام التشغيل إلى السلوك التلقائي الموضّح في ضبط سياسات الصوت.
|
useCoreAudioRouting |
يتم تحديدها في ملف إعداد خدمة السيارة من أجل
تفعيل إدارة توجيه الصوت الأساسي في نظام التشغيل Android Automotive.
عند ضبط القيمة على true ، تستخدم خدمة الصوت في السيارة تعريفات الإعدادات التي تم ضبطها باستخدام محرك سياسة الصوت القابل للضبط.
إذا تم ضبط القيمة على false ، ستعود إدارة التوجيه إلى استخدام تعريف مزيج سياسات الصوت الديناميكية لخدمة صوت السيارة كما تم ضبطه باستخدام audioUseDynamicRouting .
|
useCoreAudioVolume |
يتم تحديدها في ملف إعدادات خدمة السيارة من أجل تفعيل إدارة مستوى الصوت الأساسي في AAOS.
عند ضبط القيمة على true ، تستخدم خدمة الصوت في السيارة تعريفات مجموعات مستوى الصوت التي تم إعدادها باستخدام محرك سياسة الصوت القابل للضبط.
إذا تم ضبط القيمة على false ، سيعود نظام إدارة مستوى الصوت إلى استخدام تعريف مجموعة مستوى الصوت التلقائي لخدمة صوت السيارة كما تم ضبطه باستخدام audioUseDynamicRouting .
|
audioUseCarVolumeGroupMuting |
يتم تحديدها في ملف إعدادات خدمة السيارة لتفعيل كتم صوت مجموعات الصوت الفردية. عند ضبطها على false (القيمة التلقائية)، يتم إيقاف كتم مجموعات الصوت الفردية. بدلاً من ذلك، يؤدي كتم الصوت إلى تفعيل أو إيقاف ميزة "الكتم الرئيسي".
عند ضبط القيمة على true ، يتم تفعيل كتم صوت مجموعة الصوت في السيارة ويمكن كتم صوت كل مجموعة صوت على حدة. عندما تكون قيمة true ،
يجب تنفيذ كتم صوت مجموعة الصوت في
طبقة تجريد الأجهزة للتحكّم في الصوت.
|
audioUseHalDuckingSignals |
يتم تحديدها في ملف إعدادات خدمة السيارة لتفعيل واجهة برمجة التطبيقات IAudioControl#onDevicesToDuckChange من أجل إبلاغ طبقة تجريد الأجهزة (HAL) بموعد خفض مستوى الصوت. عند ضبط القيمة على true (القيمة التلقائية)، تتلقّى واجهة برمجة التطبيقات إشارات تشير إلى أجهزة الإخراج التي يجب خفض مستوى صوتها والاستخدامات التي يجب أن تحافظ على التركيز. عندما تكون القيمة false ،
لا يتم طلب البيانات من واجهة برمجة التطبيقات. لا يتم استدعاء واجهة برمجة التطبيقات إلا إذا كان Audio Control HAL ينفّذ ميزة خفض مستوى الصوت.
|
config_oemCarService |
يتم تحديد هذا الاسم في ملف إعداد خدمة السيارة، وهو اسم المكوّن الخاص بخدمة التخصيص من المصنّع الأصلي للجهاز. يمكن لمصنّعي المعدات الأصلية اختيار تنفيذ هذه الخدمة لتخصيص إجراءات خدمة السيارة وفقًا لسياسات مختلفة. إذا اختار المصنّعون الأصليون للأجهزة تنفيذ هذا المكوّن، عليهم تنفيذ خدمة لتوسيع نطاق OemCarService الذي تعرضه مكتبة car-lib، ثم تنفيذ خدمات المكوّنات المطلوبة. بالنسبة إلى خدمة الصوت في السيارة على وجه التحديد، يمكن لمصنّعي المعدات الأصلية تنفيذ أي من الخدمات الفرعية الصوتية لإدارة إجراءات الصوت. لمزيد من التفاصيل، يُرجى الاطّلاع على خدمة Car Audio Plugin.
إذا كان اسم المكوّن غير صالح، لن يتمكّن 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 (القيمة التلقائية)، لا يفرض النظام سلوك التلاشي عندما يفقد أحد التطبيقات تركيز الصوت.
|
إعدادات خدمة الصوت في السيارة
قبل الإصدار 13 من نظام التشغيل Android، كانت تتم الكتابة فوق إعدادات خدمة السيارة
باستخدام تراكب إعدادات المنتج (لمزيد من المعلومات، راجِع
تخصيص الإصدار باستخدام تراكبات الموارد)
للملف packages/services/Car/service/res/values/config.xml
.
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
يجب أن يتضمّن موقع ملف الإعداد من <path_to_overlay>
إلى الموقع الفعلي packages/services/Car/service/res/values/
.
RROs لخدمات السيارات
منذ الإصدار 13 من نظام التشغيل Android، يتيح نظام التشغيل 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