يستخدم نظام التشغيل Android Automotive OS (AAOS) العلامات والتكوينات لتمكين ميزات مختلفة، بدءًا من التوجيه الديناميكي إلى علامات الميزات الأكثر عمومية، مثل التحكم في مستوى الصوت من خدمة السيارة. يتم هنا وصف علامات تكوين AAOS الحالية لإدارة الصوت.
علَم | غاية | |
---|---|---|
audioUseDynamicRouting | تم تحديده في ملف تكوين خدمة السيارة لتمكين توجيه AAOS . يجب ضبط التكوين على true . عند false ، يتم تعطيل التوجيه والكثير من CarAudioService ويعود نظام التشغيل إلى السلوك الافتراضي الموضح في تكوين سياسات الصوت . | |
audioUseCarVolumeGroupMuting | تم تحديده في ملف تكوين خدمة السيارة لتمكين كتم صوت مجموعات الصوت الفردية. عند التعيين على false (القيمة الافتراضية)، يتم تعطيل كتم مجموعات الصوت الفردية. بدلاً من ذلك، يؤدي كتم الصوت إلى تبديل كتم الصوت الرئيسي. عند التعيين على true ، يتم تمكين كتم صوت مجموعة صوت السيارة ويمكن كتم صوت كل مجموعة صوت فردية بشكل منفصل. عندما يكون true ، يجب تنفيذ كتم صوت مجموعة الصوت في طبقة التحكم بالصوت (HAL) للتحكم بالصوت . | |
audioUseHalDuckingSignals | تم تحديده في ملف تكوين خدمة السيارة لتمكين واجهة برمجة تطبيقات IAudioControl#onDevicesToDuckChange لإبلاغ HAL بموعد التوقف. عندما تكون القيمة true (القيمة الافتراضية)، تتلقى واجهة برمجة التطبيقات (API) إشارات تشير إلى أجهزة الإخراج التي يجب تجنبها والاستخدامات التي تحافظ على التركيز. عندما يكون false ، لا يتم استدعاء API. لا يتم استدعاء واجهة برمجة التطبيقات (API) إلا إذا نفذت طبقة توصيف الأجهزة (HAL) للتحكم في الصوت عملية التهرب. | |
config_oemCarService | وهذا هو المحدد في ملف تكوين خدمة السيارة، وهو اسم المكون لخدمة تخصيص OEM. يمكن لمصنعي المعدات الأصلية اختيار تنفيذ هذه الخدمة لتخصيص إجراءات خدمة السيارة لسياسات مختلفة. إذا اختار مصنعو المعدات الأصلية تنفيذ هذا المكون، فيجب عليهم تنفيذ خدمة لتوسيع OemCarService المكشوفة بواسطة car-lib، ثم تنفيذ خدمات المكونات المطلوبة. بالنسبة لخدمة الصوت في السيارة على وجه التحديد، يمكن لمصنعي المعدات الأصلية تنفيذ أي من الخدمات الصوتية الفرعية لإدارة الإجراء الصوتي. للحصول على التفاصيل، راجع خدمة المكونات الصوتية للسيارة . إذا كان اسم المكون غير صالح، فلن تتصل CarService بأي خدمة OEM. لا يمكن أن يكون اسم المكون عبارة عن حزمة تابعة لجهة خارجية. يجب أن تكون مثبتة مسبقا. | 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/
.
RROs لخدمة السيارات
منذ Android 13، يدعم AAOS تراكبات موارد وقت التشغيل . استخدم RRO لتغيير قيمة تكوين صوت السيارة. على سبيل المثال، راجع RROs لمرجع 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
API، يجب أن تكون المعلمة التي تم تمريرها واحدة مما يلي:
-
AUDIO_FEATURE_DYNAMIC_ROUTING
-
AUDIO_FEATURE_VOLUME_GROUP_MUTING
-
AUDIO_FEATURE_OEM_AUDIO_SERVICE
-
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
-
AUDIO_FEATURE_AUDIO_MIRRORING