نظرة عامة

يستند نظام التشغيل Android Automotive (AAOS) إلى حِزمة الصوت الأساسية في Android لدعم حالات الاستخدام الخاصة بالتشغيل كنظام ترفيه ومعلومات في المركبة. تتحمّل AAOS مسؤولية أصوات المعلومات الترفيهية (أي الوسائط والتنقّل والاتصالات)، ولكنها ليست مسؤولة مباشرةً عن الرنين والتحذيرات التي تفرض متطلبات صارمة للتوقيت ومدى التوفّر.

على الرغم من أنّ AAOS يوفّر إشارات وآليات لمساعدة المركبة في إدارة الصوت، إلا أنّه في نهاية المطاف يعود الأمر إلى المركبة لتحديد الأصوات التي يجب أن يتم تشغيلها للسائق والركاب، ما يضمن سماع الأصوات المهمة للسلامة والأصوات التنظيمية بشكل صحيح بدون انقطاع.

بما أنّ نظام التشغيل AAOS يستفيد من حِزمة الصوت في Android، لا تحتاج التطبيقات التابعة لجهات خارجية التي تشغّل الصوت إلى تنفيذ أي إجراء مختلف عن الإجراءات التي تنفّذها على الهواتف. تدير AAOS تلقائيًا توجيه الصوت في التطبيق كما هو موضّح في ضبط سياسة الصوت.

بما أنّ نظام التشغيل Android يدير تجربة الوسائط في المركبة، يجب أن يتم تمثيل مصادر الوسائط الخارجية، مثل مقوّم الصوت في الراديو، من خلال التطبيقات التي يمكنها التعامل مع التركيز الصوتي والأحداث الرئيسية للوسائط للمصدر.

مصادر بيانات وأصوات Android

تتعامل أنظمة الصوت في السيارات مع الأصوات والبثّات التالية:

الصورة

الشكل 1: مخطّط بياني للبنية المستندة إلى أحداث البث

يدير نظام Android الأصوات الواردة من تطبيقات Android، ويتحكّم في هذه التطبيقات ويوجه أصواتها إلى أجهزة الإخراج في HAL استنادًا إلى نوع الصوت:

  • يتم وضع علامة على البثّات المنطقية، المعروفة باسم المصادر في التسمية الأساسية للصوت، باستخدام سمات الصوت.

  • البثّات المادية، المعروفة باسم الأجهزة في تصنيف الصوت الأساسي، لا تحتوي على معلومات سياقية بعد المزج.

لضمان الموثوقية، يتم إدارة الأصوات الخارجية (المصدرة من مصادر مستقلة، مثل أجراس التحذير من عدم ربط حزام الأمان) خارج نظام التشغيل Android، أسفل HAL أو حتى في جهاز منفصل. على جهات تنفيذ النظام توفير أداة مزج تقبل بثًا واحدًا أو أكثر من الإدخال الصوتي من Android، ثم تجمع هذه البثات بطريقة مناسبة مع مصادر الصوت الخارجية التي تتطلّبها المركبة. يقدّم Android Control HAL آلية مختلفة للأصوات التي يتم إنشاؤها خارج نظام Android للتواصل مع Android:

  • طلب التركيز على الصوت
  • قيود على الكسب أو مستوى الصوت
  • تغييرات في الكسب ومستوى الصوت

إنّ تنفيذ HAL للصوت وأدوات الخلط الخارجية مسؤولة عن ضمانسماع الأصوات الخارجية المهمة للسلامة، بالإضافة إلى خلط البث المباشر الذي يوفّره Android وتوجيهه إلى السماعات المناسبة.

أصوات Android

قد تتضمّن التطبيقات مشغّلاً واحدًا أو أكثر يتفاعل من خلال واجهات برمجة التطبيقات العادية لنظام التشغيل Android (مثل AudioManager للتحكّم في التركيز أو MediaPlayer لبث المحتوى) لبث بث واحد أو أكثر من عمليات البث المنطقية لبيانات الصوت. يمكن أن تكون هذه البيانات صوتًا أحاديًا من قناة واحدة أو صوتًا محيطيًا بتقنية 7.1، ولكن يتم توجيهها والتعامل معها على أنّها مصدر واحد. يكون بث التطبيق مرتبطًا بمجموعة AudioAttributes التي تمنح النظام إشارات حول كيفية التعبير عن الصوت.

يتم إرسال أحداث البث المنطقي من خلال AudioService وتوجيهها إلى أحد أحداث البث المادي المتاحة (وأحد أحداث البث فقط)، وكل منها هو ناتج عن معالج إشارة بديل (مختلط) ضمن AudioFlinger. بعد دمج سمات الصوت في ملف تدفق مادي، لن تعود هذه السمات متاحة.

بعد ذلك، يتم إرسال كل بث صوتي إلى Audio HAL لعرضه على الأجهزة. في تطبيقات السيارات، يمكن أن تكون أجهزة العرض هي برامج ترميز محلية (مثل الأجهزة الجوّالة) أو معالجًا عن بُعد على الشبكة المادية للمركبة. وفي كلتا الحالتَين، تتمثل مهمة تنفيذ Audio HAL في تقديم ملف ملف ‎"عيّنة البيانات" الفعلي وجعله مسموعًا.

مصادر البيانات الخارجية

قد يتم إرسال مصادر الصوت التي لا يجب توجيهها عبر Android (لأسباب تتعلّق بالاعتماد أو التوقيت) مباشرةً إلى أداة المزج الخارجية. اعتبارًا من Android 11، أصبح بإمكان HAL الآن طلب التركيز على هذه الأصوات الخارجية لإعلام Android بحيث يمكنه اتّخاذ الإجراءات المناسبة، مثل إيقاف الوسائط مؤقتًا أو منع الأصوات الأخرى من التركيز.

إذا كانت مصادر البث الخارجية هي مصادر وسائط يجب أن تتفاعل مع بيئة الصوت التي ينشئها Android (على سبيل المثال، إيقاف تشغيل ملف MP3 عند تفعيل معالج إشارة تلفزيوني خارجي)، يجب أن يتم تمثيل مصادر البث الخارجية هذه من خلال تطبيق Android. سيطلب هذا التطبيق Audio focus نيابةً عن مصدر الوسائط بدلاً من HAL، وسيستجيب لإشعارات التركيز من خلال بدء تشغيل المصدر الخارجي وإيقافه حسب الضرورة بما يتوافق مع سياسة التركيز في Android.

ويتحمّل التطبيق أيضًا مسؤولية التعامل مع أحداث مفاتيح الوسائط، مثل التشغيل والإيقاف المؤقّت. من الآليات المقترَحة للتحكّم في هذه الأجهزة الخارجية هو HwAudioSource. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة ربط جهاز إدخال في نظام التشغيل AAOS.

أجهزة الإخراج

على مستوى Audio HAL، يقدّم نوع الجهاز AUDIO_DEVICE_OUT_BUS جهاز إخراج عامًا لاستخدامه في أنظمة الصوت في المركبات. يتوافق جهاز الحافلة مع منافذ قابلة للعنوان (حيث يكون كل منفذ هو نقطة نهاية لبثّ مادي) ويُتوقّع أن يكون هو نوع جهاز الإخراج الوحيد المتوافق في المركبة.

يمكن أن يستخدم تطبيق النظام منفذًا واحدًا للحافلة لجميع أصوات Android، وفي هذه الحالة، يمزج Android كل الأصوات معًا ويرسلها في بث واحد. بدلاً من ذلك، يمكن أن يوفّر HAL منفذًا واحدًا للحافلة لكل CarAudioContext للسماح بنقل أي نوع من الأصوات بشكل متزامن. يتيح ذلك لتنفيذ HAL إمكانية مزج الأصوات المختلفة وإخفاؤها حسب الرغبة.

يتمّ تحديد سياقات الصوت لأجهزة الإخراج من خلال ملف car_audio_configuration.xml. لمزيد من المعلومات، يُرجى الاطّلاع على ضبط سياسة الصوت.