وضع مكبر الصوت الديناميكي

من خلال دعم إطار عمل Android 14، يمكن تكوين أجهزة فك التشفير (STBs) وأجهزة OTT المزودة بسماعات مدمجة أو متصلة لتكون مكبرات صوت للأجهزة المتصلة. يدعم وضع مكبر الصوت الديناميكي (DSM) في Android 14 سمات التحكم في الأجهزة الإلكترونية الاستهلاكية (CEC) عبر HDMI لأشرطة الصوت، مثل قناة إرجاع الصوت (ARC) والتحكم في صوت النظام.

تستهدف هذه الميزة أجهزة تشغيل Android TV CEC فقط.

متطلبات

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

متطلبات الجهاز

لدعم DSM، يجب أن يلبي جهاز STB/OTT المتطلبات التالية:

  • يجب أن يعمل الجهاز بنظام التشغيل Android 14.
  • عند تمكين DSM، يجب أن يعمل الجهاز مثل مكبر الصوت الذي يتبع مواصفات HDMI CEC، مثل ARC.
  • يجب أن يكون الجهاز قادرًا على تشغيل الصوت على مكبرات الصوت المدمجة أو المتصلة.
  • عندما لا يكون الجهاز مصدرًا نشطًا، يجب إيقاف جميع الوسائط مؤقتًا على الجهاز، مما يحد من استهلاكه للطاقة.

متطلبات واجهة المستخدم للنظام

لدعم DSM، يجب على مصنعي المعدات الأصلية تلبية المتطلبات التالية أثناء تصميم واجهة مستخدم النظام:

  • يجب أن تتضمن تسمية واجهة المستخدم إشارة إلى ARC أو قناة إرجاع الصوت (ARC) .
  • يجب أن تبلغ واجهة المستخدم المستخدم بتوصيل الجهاز بمنفذ ARC الخاص بالتلفزيون لتأسيس اتصال ARC.
  • يجب أن تبلغ واجهة المستخدم المستخدم أن الميزة قد لا تعمل كما هو متوقع في حالة توصيل مكبر صوت أو جهاز استقبال صوت/فيديو آخر (AVR) بشبكة HDMI.
  • يجب أن تبلغ واجهة المستخدم المستخدم بأن الشاشة قد تومض عند تبديل الإعداد.
  • إذا لم يكن الجهاز يحتوي على مكبرات صوت مدمجة، فيجب تعطيل DSM بشكل افتراضي.

أفضل الممارسات: نوصي باستخدام قائمة العرض والصوت كموقع لإعداد المستخدم لتمكين ARC أو تعطيله، كما هو موضح في تطبيق SysUI .

تنفيذ الإطار

يوجد تنفيذ وظيفة مكبر الصوت CEC والتخصيص الديناميكي للعنوان المنطقي 5 في إطار عمل Android. يخصص إطار العمل العنوان المنطقي عند تمكين إعداد مكبر الصوت، حتى يصبح الجهاز مكبر صوت ديناميكيًا. عند تعطيل إعداد مكبر الصوت، يقوم إطار العمل بإلغاء تخصيص العنوان المنطقي.

استنادًا إلى إدخال المستخدم في واجهة مستخدم النظام، يقوم HdmiControlManager بتعيين CEC_SETTING_NAME_SOUNDBAR_MODE على SOUNDBAR_MODE_ENABLED أو SOUNDBAR_MODE_DISABLED . تم تعيين القيمة الافتراضية لـ CEC_SETTING_NAME_SOUNDBAR_MODE على SOUNDBAR_MODE_DISABLED .

يستمع HdmiControlService إلى التغيير في إعداد CEC_SETTING_NAME_SOUNDBAR_MODE للقيام بما يلي:

  • تحقق من وجود جهاز تشغيل محلي ودعم خاصية ARC .
  • قم بتشغيل تخصيص العنوان المنطقي لإضافة أو إزالة جهاز الصوت المحلي.
  • تأكد من الحفاظ على حالة الإعداد، إذا كان الجهاز متصلاً بالطاقة.

راجع نموذج الإعلانات التالي لتعيين حالة وضع مكبر الصوت والحصول عليها:

    /**
     * Name of a setting deciding whether the Soundbar mode feature is enabled.
     * Before exposing this setting make sure the hardware supports it, otherwise, you may
     * experience multiple issues.
     *
     * @see HdmiControlManager#setSoundbarMode(int)
     */
    public static final String CEC_SETTING_NAME_SOUNDBAR_MODE = "soundbar_mode";
    /**
     * Soundbar mode feature enabled.
     */
    public static final int SOUNDBAR_MODE_ENABLED = 1;
    /**
     * Soundbar mode feature disabled.
     */
    public static final int SOUNDBAR_MODE_DISABLED = 0;

   /**
     * Set the status of Soundbar mode feature.
     *
     * <p>This allows to enable/disable Soundbar mode on the playback device.
     * The setting's effect will be available on devices where the hardware supports this feature.
     * If enabled, an audio system local device will be allocated and try to establish an ARC
     * connection with the TV. If disabled, the ARC connection will be terminated and the audio
     * system local device will be removed from the network.
     */
    public void setSoundbarMode(@SoundbarMode int value) {
    }

    /**
     * Get the current status of Soundbar mode feature.
     *
     * <p>Reflects whether Soundbar mode is currently enabled on the playback device.
     * If enabled, an audio system local device will be allocated and try to establish an ARC
     * connection with the TV. If disabled, the ARC connection will be terminated and the audio
     * system local device will be removed from the network.
     */
    public int getSoundbarMode() {}

تنفيذ تصنيع المعدات الأصلية

لدعم ميزة مكبر الصوت الديناميكي، يجب على مصنعي المعدات الأصلية التأكد من أن الأجهزة تدعمها. يجب على مصنعي المعدات الأصلية تكوين الجهاز وتنفيذ واجهة مستخدم النظام لتوفير الواجهة المطلوبة لإدخالات المستخدم.

تنفيذ الجهاز

لدعم ميزة مكبر الصوت على الجهاز:

  1. أظهر جهاز التشغيل على Android 14.
  2. قم بتنفيذ منفذ HDMI ARC في برنامج التشغيل.
  3. اترك قيم RRO الخاصة بـ config_cecSoundbarModeEnabled_default و config_cecSoundbarModeDisabled_default دون تغيير في config.xml بحيث تظل الميزة معطلة بشكل افتراضي.

  4. تأكد من أن الجهاز يحتوي على مكبرات صوت مدمجة أو متصلة لتشغيل الصوت وتحرير تكوين سياسة الصوت .

  5. قم بتعيين خاصية النظام persist.sys.hdmi.property_arc_support إلى true ، للإشارة إلى أن ARC مدعوم.

  6. اكشف عن الإعداد لتبديل وضع مكبر الصوت في واجهة مستخدم النظام .

لتصحيح الأخطاء، استخدم أمر adb التالي لتشغيل ميزة مكبر الصوت أو إيقاف تشغيلها ( 1 للتشغيل و 0 لإيقاف التشغيل):

adb shell cmd hdmi_control cec_setting set soundbar_mode <1/0>

تنفيذ SysUI

يصف هذا القسم تدفق واجهة المستخدم الوهمي الموصى به لتشغيل DSM وإيقاف تشغيله. يوجد إعداد إخراج الصوت ضمن قائمة العرض والصوت ، كما هو موضح في الشكل 1:

dsm_audio_output

الشكل 1. إعداد إخراج الصوت ضمن قائمة العرض والصوت .

لكي يعمل DSM، يجب تشغيل الإعداد Enable HDMI-CEC . لا يمكن تمكين إعداد ARC إلا في حالة تمكين HDMI-CEC. يصبح إعداد ARC باللون الرمادي ويتم تعطيله إذا تم تعطيل HDMI-CEC كما هو موضح في الشكل 2. في تدفق واجهة المستخدم التالي، عندما يقوم المستخدم بإيقاف تشغيل إعداد تمكين HDMI-CEC في قائمة العرض والصوت وتحديد مكبر الصوت المنزلي ، سيتم تشغيل ARC تم تعطيل الإعداد. يمكن للمستخدم تمكين إعداد تشغيل صوت التلفزيون عن طريق تمكين تمكين HDMI-CEC .

dsm_ui_disable_arc

الشكل 2. واجهة المستخدم لخيار ARC المعطل.

عند تمكين إعداد HDMI-CEC، يمكن للمستخدم استخدام إعداد ARC ضمن إخراج الصوت لتشغيل DSM وإيقاف تشغيله. لتشغيل DSM، يتبع المستخدم تدفق واجهة المستخدم في الشكل 3. في تدفق واجهة المستخدم التالي، لتمكين وضع مكبر الصوت، يحدد المستخدم مكبر الصوت المنزلي ، ويحدد إعداد ARC ويؤكده. لإيقاف تشغيل DSM، يقوم المستخدم بإيقاف تشغيل إعداد ARC .

dsm_ui_enable_arc

الشكل 3. واجهة المستخدم لتمكين DSM.

تصديق

يمكن لمصنعي المعدات الأصلية إجراء اختبار صوتي للتأكد من أن مكبرات الصوت الخاصة بجهاز التشغيل تقوم بتشغيل الصوت الصادر من التلفزيون، أو من الأجهزة الأخرى المتصلة بلوحة التلفزيون.

التحقق اليدوي

استخدم السيناريوهات التالية للتحقق يدويًا من السلوك المتوقع:

  • تم تمكين إعداد ARC :
    • يقوم التلفزيون بكتم صوت نفسه.
    • يتم توجيه صوت التلفزيون إلى سماعات الجهاز.
  • تم تعطيل إعداد ARC :
    • يتوقف التلفزيون عن توجيه الصوت إلى الجهاز.
    • يبدأ التلفزيون في تشغيل الصوت.
  • يتم تمكين إعداد ARC ويتم توصيل الجهاز بمنفذ غير ARC بالتلفزيون:
    • الجهاز لا يشغل صوت التلفاز.
  • تم تمكين إعداد ARC والعنوان المنطقي 5 قيد الاستخدام بواسطة جهاز آخر قبل توصيل الجهاز:
    • يتصرف الجهاز كجهاز تشغيل خالص، وليس مكبر صوت.
  • تم تمكين إعداد ARC، والعنوان المنطقي 5 قيد الاستخدام من قبل الجهاز، وتم توصيل نظام صوتي آخر في الشبكة:
    • لا يوجد أي تغيير في سلوك مكبرات الصوت بالجهاز.
  • تم تمكين إعداد ARC ، والعنوان المنطقي 5 قيد الاستخدام من قبل الجهاز المتصل بمنفذ غير ARC، ونظام صوتي آخر متصل بمنفذ ARC:
    • لم يتم إنشاء اتصال ARC مع التلفزيون للنظام الصوتي الثاني لأنه يستخدم عنوانًا منطقيًا غير مسجل.
  • تم تمكين إعداد ARC ، وتم توصيل الجهاز بسرعة:
    • يتبع الجهاز السلوك الطبيعي كما هو الحال عند تمكين الإعداد.

التحقق من صحة CTS

مطلوب CtsHdmiCecHostTestCases للتمرير عند تعطيل إعداد مكبر الصوت. اختبار HdmiCecSoundbarModeTest.java في مجموعة اختبار CtsHdmiCecHostTestCases ، يختبر وظائف DSM.

على الرغم من أنه ليس من متطلبات الشهادة، قم بتشغيل CtsHdmiCecHostTestCases مع تمكين إعداد شريط الصوت للتحقق من صحة التنفيذ.

راجع اختبار CEC CTS لأجهزة Android TV لتشغيل اختبارات Android CTS لـ HDMI CEC.