نظرة عامة

يعتمد نظام التشغيل 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، ولكن يتم توجيهها والتعامل معها كأحد المصادر. يكون بث التطبيق مرتبطًا بمجموعة منسمات الصوت التي تمنح النظام إشارات حول كيفية التعبير عن الصوت.

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

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

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

قد يتم إرسال مصادر الصوت التي لا يجب توجيهها من خلال Android (لأسباب تتعلّق بالاعتماد أو التوقيت) مباشرةً إلى أداة المزج الخارجية. اعتبارًا من الإصدار 11 من Android، أصبح بإمكان 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. لمزيد من المعلومات، يُرجى الاطّلاع على ضبط سياسة الصوت.