يستخدم نظام التشغيل 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