سمات الخلاط المفضلة على أجهزة USB

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

توفر هذه الميزة أيضًا إمكانية استخدام أداة مزج التشغيل الاختيارية سلوك أجهزة USB. يتيح وضع البت المثالي تشغيل المقطع الرئيسي تنسيقات المحتوى المصادق عليها (MQA) والبث المباشر الرقمي (DSD) على المحوّلات الرقمية المتوافقة إلى التناظرية (DAC)

الواجهة

يتعامل مدير سياسة الصوت مع سمات المزج في إطار العمل. تشير رسالة الأشكال البيانية AudioMixerAttributes تشير إلى سمات الخلاط. تتضمن الفئة AudioMixerAttributes AudioFormat كائن يصف تنسيق البيانات الصوتية وقناع القناة ومعدل العينة الخلاط. بشكل افتراضي، يحدد إطار العمل سلوك الخلاط، الذي يمزج جميع مصادر الصوت ويطبق عنصر التحكم في مستوى الصوت والتأثيرات.

إذا كان سلوك أداة المزج يستخدم الوضع BIT_PERFECT، يرسل النظام الصوت المحتوى بدون تعديل من خلال إطار عمل الصوت وHAL، واختياريًا معالج الإشارات الرقمية (DSP)، بدءًا من واجهة برمجة التطبيقات وحتى جهاز USB. تشير رسالة الأشكال البيانية يتيح وضع BIT_PERFECT استخدام تنسيقات مرمّزة، مثل MQA أو DSD، ويمكن استخدام أي تنسيق يمكن أن يؤدي تحجيم الحجم أو مزجه إلى تدمير معنى البيانات.

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

أداة المزج المفضّلة

الشكل 1. هي واجهة بين التطبيق وإطار العمل وHAL.

التنفيذ

تنفيذ سمات الخلاط المفضّلة، بخلاف BIT_PERFECT بالنسبة إلى أجهزة صوت USB، وهو أمر إلزامي في نظام التشغيل Android 14.

السمات المفضّلة للخلاط

لإتاحة سمات الخلاط المفضَّلة، يجب أن يتيح المورّدون توجيه أجهزة USB إلى منفذ المزيج الديناميكي على النحو التالي:

  1. حدِّد منفذ المزيج الديناميكي في usb_audio_policy_configuration.xml.

  2. يمكنك توضيح القدرة على توجيه أجهزة USB إلى منافذ المزيج الديناميكي إما في إعدادات سياسة الصوت أو في طريقتَي getAudioPorts وgetAudioRoutes AIDL.

يمكنك الاطّلاع على التنفيذ المرجعي لطبقة المقابس الآمنة (HAL) للصوت على USB ضمن hardware/libhardware/modules/usbaudio. اطّلِع على مثال على منفذ تشكيلة أغانٍ ديناميكي في frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml.

سمة تشغيل مثالية

سمة التشغيل المثالي البت هي سمة اختيارية، وهي متاحة فقط في ملف AIDL. تطبيق HAL للصوت. لإتاحة التشغيل المثالي، على المورّدين أضف علامة الإخراج المثالي AUDIO_OUTPUT_FLAG_BIT_PERFECT إلى العنصر الديناميكي منفذ متعدد الوظائف يمكن توجيهه إلى جهاز USB

يعرض نموذج الرمز البرمجي التالي استخدام AUDIO_OUTPUT_FLAG_BIT_PERFECT. إبلاغ في usb_audio_policy_configuration.xml:

<module name="usb" halVersion="2.0">
    <mixPorts>
        <mixPort name="hifi_output"
                 role="source" flags="AUDIO_OUTPUT_FLAG_BIT_PERFECT">
        </mixPort>
    </mixPorts>
    <devicePorts>
        <devicePort tagName="USB Device Out"
                    type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
        </devicePort>
    </devicePorts>
    <routes>
        <route type="mix" sink="USB Device Out"
               sources="hifi_output"/>
    </routes>
</module>

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

التحقُّق

إجراء اختبارات CTS في PreferredMixerAttributesTestActivity.java للتحقق من إتاحة سمات الخلاط المفضلة لأجهزة USB.

للتحقّق من تنفيذ السمة BIT_PERFECT، يمكنك استخدام وحدات التحكم في الوصول (DAC) بمنفذ USB التي تدعيم MQA وDSD عبر تنسيقات الصوت الخاصة بتعديل الترميز النبضي (PCM).