الصوت عبر البلوتوث (BT) منخفض الطاقة (LE): يستخدم آليات النقل المنطقية المستندة إلى الاتصال غير المتزامن (LE-ACL) والمتزامن (LE-ISO) لبيانات تتبُّع الرأس (HT).
يتيح نظام التشغيل Android 15 تعديلات وضع وقت الاستجابة لبروتوكول HT استنادًا إلى ما إذا كان يتم استخدام آلية النقل LE-ACL أو LE-ISO.
توضِّح هذه الصفحة كيفية تفاعل إطار عمل الصوت وواجهة HAL للصوت وحزمة Bluetooth لاكتشاف آليات النقل LE-ACL أو LE-ISO واختيارها التي يتوافق معها المضيف وسماعة الرأس.
إتاحة الوصول إلى LE-ACL وLE-ISO
يتضمّن نظام Android 15 إمكانات استخدام آليات النقل LE-ACL وLE-ISO باستخدام خاصية نظام محدّدة من قِبل المورّد وأوضاع وقت الاستجابة لواجهة HAL للصوت وأوضاع اتصال أداة المعالجة الصوتية المكانية.
سمة النظام
يُدرج تطبيق موفّر الهاتف آليات النقل المتوافقة في سمة النظام
bluetooth.core.le.dsa_transport_preference
. القيمة هي قائمة مفصولة بفواصل من السلاسل،
تسرد وسائل النقل المتوافقة بترتيب التفضيل:
-
le-acl
: نقل LE-ACL، عندما يتم تسجيل بيانات وحدة القياس بالقصور الذاتي (IMU) من خلال حزمة الاستشعار -
iso-hw
: نقل ISO مع إمكانية إنشاء نفق لبيانات HT مباشرةً من وحدة التحكّم في البلوتوث إلى أداة المعالجة الصوتية في وحدة معالجة الإشارات الرقمية للصوت -
iso-sw
: نقل بيانات ISO بدون إمكانية النفق، عندما يتم تسجيل بيانات وحدة قياس السرعة والاتجاه (IMU) من خلال حزمة أدوات الاستشعار
أوضاع وقت الاستجابة
في ما يتعلّق بالصوت عبر Bluetooth LE، فإنّ آلية حِزمة Bluetooth للإشارة إلى أوضاع وقت الاستجابة المتوافقة مع HAL للصوت وإطار العمل الصوتي هي نفسها المُحدَّدة لبروتوكول Bluetooth الكلاسيكي (A2DP). يُبلغ HAL للصوت عن أوضاع وقت الاستجابة المتوافقة وفقًا لجهاز الصوت المحدّد حاليًا.
لا تتوافق عمليات تنفيذ A2DP إلا مع الوضعَين FREE
وLOW_LATENCY
.
في المقابل، بالنسبة إلى ميزة "الصوت عبر البلوتوث منخفض الطاقة"، يتم تعريف أوضاع وقت الاستجابة التالية في HAL للصوت لدعم إضافة آليات النقل LE-ACL وLE-ISO:
FREE
: تشير هذه القيمة إلى أنّه ما مِن قيد محدّد على وقت الاستجابة. يتم استخدام هذا الوضع عندما لا يكون وقت الاستجابة المنخفض متاحًا (يُشار إليه فيHAL) أو عندما لا يكون وضع "العرض الفائق السرعة" مفعّلاً (يُشار إليه في إطار العمل).LOW
: تشير هذه القيمة إلى وقت استجابة منخفض نسبيًا (مثل أقل من 100 ملي ثانية) متوافق مع تشغيل HT. يتم استخدام هذا الوضع عند توفُّر وقت استجابة منخفض ونقل HID عبر بروتوكول ACL (يُشار إليه في HAL)، أو عندما يكون HT نشطًا ولا تتوفّر أوضاع أخرى ذات وقت استجابة منخفض (يُشار إليها في إطار العمل).DYNAMIC_SPATIAL_AUDIO_SOFTWARE
: يتم استخدام هذا الوضع عند استيفاء أحد الشروط التالية:- عندما يكون وقت الاستجابة منخفضًا، يتم نقل HID عبر بروتوكول ISO، ولا يمكن توجيه HID إلى محرّك تأثيرات المعالجة المكانية (يُشار إليه بـ HAL).
- عندما يكون HT مفعّلاً ويتم استخدام بروتوكول ISO عندما يقدّم إطار العمل الصوتي بيانات HID إلى محرّك تأثير "الصوت المكاني" (يُشار إليه بال إطار).
في هذا الوضع، تُجري مكتبة الحوسبة في HT ضمن الإطار جميع عمليات المعالجة المُسبَقة على بيانات وحدة IMU ومطابقتها مع حركات الهاتف التي تشير إليها أجهزة استشعار الهاتف.
DYNAMIC_SPATIAL_AUDIO_HARDWARE
: يتم استخدام هذا الوضع عند استيفاء أحد الشروط التالية:- عندما يكون وقت الاستجابة منخفضًا، يتم نقل HID عبر بروتوكول ISO، ويمكن توجيه HID إلى محرّك تأثيرات المعالجة المكانية (المشار إليه بـ HAL).
- عندما يكون HT نشطًا ويتم استخدام بروتوكول ISO عند توجيه بيانات HID إلى محرّك تأثيرات المعالجة المكانية (يُشار إليه من خلال إطار العمل).
في هذا الوضع، يتلقّى محرّك تأثير "المحوِّل المكاني" بيانات IMU غير المعالجة مباشرةً من حِزمة BT أو وحدة تحكّم BT. عند تنفيذ تأثير "الصوت المكاني"، تتم جميع عمليات المعالجة الأولية لبيانات وحدة قياس السرعة والتسارع (IMU) ومطابقتها مع حركات الهاتف التي تشير إليها أدوات استشعار الهاتف.
يتم ربط القيم المحدَّدة لوضع الاستجابة بخاصية النظام bluetooth.core.le.dsa_transport_preference
في Spatializer.cpp
.
إتاحة ميزة "الصوت المكاني"
يتحكّم عنصر التحكّم في التأثير المكاني
في خدمة سياسة الصوت في اختيار بروتوكول نقل HT بدلاً من الصوت عبر LE. يشير تنفيذ محرّك تأثير "المحوِّل المكاني" إلى
توفّر إمكانية إنشاء نفق لبيانات HT باستخدام HeadTracking.ConnectionMode
.
في ما يلي أوضاع الاتصال المتاحة في HT:
FRAMEWORK_PROCESSED
: يقدّم إطار العمل الصوتي بيانات وحدة قياس التسارع والانحراف (IMU) التي تمت معالجتها مسبقًا في تنسيق متّجه من البداية إلى النهاية إلى HAL. يتوافق هذا الوضع التلقائي مع الوضع الحالي في تطبيق BT الكلاسيكي.DIRECT_TO_SENSOR_SW
: يتصل محرّك تأثير "الصوت المكاني" مباشرةً بالجهاز من خلال حِزمة برامج الجهاز. يتحكّم إطار عمل الصوت في حالة تفعيل جهاز الاستشعار فقط. يمكن أن تستخدم عمليات التنفيذ البرمجية التي لا تستخدم عمليات معالجة البيانات في وحدة التحكّم في الحركة (IMU) ضمن AOSPlibheadtracking
أو عمليات التنفيذ المتعلّقة بتكنولوجيات الترميز المتقدّمة (DSP) التي تم نقل عبئها إلى وحدة معالجة الرسوم وضعDIRECT_TO_SENSOR_SW
.DIRECT_TO_SENSOR_TUNNEL
: يتصل محرّك تأثير "المحسِّن المكاني" مباشرةً بالجهاز من خلال النفق الآلي. لا يتحكّم إطار العمل الصوتي إلا في حالة تفعيل أداة الاستشعار. يمكن استخدام وضعDIRECT_TO_SENSOR_TUNNEL
في عمليات تنفيذ أدوات المعالجة الصوتية التي تم نقلها إلى وحدة التحكّم في الصوت (DSP).
اختيار وضع وقت الاستجابة
يختار إطار العمل أحد أوضاع وقت الاستجابة من قائمة أوضاع وقت الاستجابة المتوافقة التي يُبلغ عنها HAL. يتم ضبط وضع وقت الاستجابة استنادًا إلى حالة تفعيل HT الحالية ودعم أداة وضع الصوت المكاني الحالي وخاصية النظام التي يحدّدها المورّد والتي تُحدِّد ترتيب الأولوية بين آليات النقل.
يستخدم الإطار العمل العملية التالية في selectHeadtrackingConnectionMode_l
لاختيار وضع وقت الاستجابة:
- تحمِّل الإطار المرجعي الإعداد المفضّل لنقل البيانات من
bluetooth.core.le.dsa_transport_preference
property system. - يتم فلترة أوضاع وقت الاستجابة المتوافقة التي يُبلغ عنها HAL للصوت وترتيبها وفقًا للقائمة التي تم تحميلها في الخطوة 1.
- إذا كان وضع وقت الاستجابة المنخفض ذو الأولوية الأعلى هو
iso-hw
وكان تنفيذ أداة ضبط الصوت المكاني يتوافق مع الاتصال المباشر بجهاز الاستشعار (أي تم ضبطDIRECT_TO_SENSOR_SW
أوDIRECT_TO_SENSOR_TUNNEL
في أداة ضبط الصوت المكاني)، يتم ضبط وضع وقت الاستجابة علىDYNAMIC_SPATIAL_AUDIO_HARDWARE
. إذا كان وضع وقت الاستجابة المنخفض ذو الأولوية الأعلى هو
iso-hw
ولم يكن تنفيذ أداة تحديد الموقع الجغرافي بالاستناد إلى الصوت يتوافق مع الاتصال المباشر بجهاز الاستشعار (لم يتم ضبطDIRECT_TO_SENSOR_SW
أوDIRECT_TO_SENSOR_TUNNEL
في أداة تحديد الموقع الجغرافي بالاستناد إلى الصوت)، سيحدِّد الوضع التالي المفضَّل (iso-sw
أوle-acl
) وضع وقت الاستجابة (DYNAMIC_SPATIAL_AUDIO_SOFTWARE
أوLOW
).في حال عدم تحديد الوضع المفضّل التالي، يُبلغ النظام عن خطأ في إعدادات المنتج.