نظرة عامة

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

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

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

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

أصوات وتدفقات Android

تتعامل أنظمة الصوت الخاصة بالسيارات مع الأصوات والتدفقات التالية:

image

الشكل 1. مخطط معماري مرتكز على الدفق.

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

  • يتم تمييز التدفقات المنطقية ، المعروفة باسم المصادر في التسميات الصوتية الأساسية، بسمات الصوت .

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

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

  • طلب التركيز الصوتي
  • قيود الربح أو الحجم
  • تغيرات الكسب والحجم

يعد تطبيق HAL الصوتي والخلاط الخارجي مسؤولين عن ضمان سماع الأصوات الخارجية الهامة للسلامة وعن مزج التدفقات المقدمة من Android وتوجيهها إلى مكبرات الصوت المناسبة.

أصوات أندرويد

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

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

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

تيارات خارجية

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

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

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

أجهزة الخرج

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

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

يتم تعيين سياقات الصوت لأجهزة الإخراج من خلال ملف car_audio_configuration.xml . لمعرفة المزيد، راجع تكوين سياسة الصوت .