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