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

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

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

المتطلبات

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

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

لكي يكون جهاز STB أو جهاز OTT متوافقًا مع DSM، يجب أن يستوفي المتطلبات التالية:

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

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

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

  • يجب أن يتضمّن تصنيف واجهة المستخدم إشارة إلى 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.
     *
     * 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.
     *
     * 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. عرض الإعداد لتفعيل وضع مكبّر الصوت في واجهة مستخدم النظام

  7. لإجراء عملية تصحيح الأخطاء، استخدِم الأمر adb التالي لتفعيل ميزة مكبّر الصوت أو إيقافها (1 للتفعيل و0 للإيقاف):

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

تنفيذ واجهة مستخدم النظام

يوضّح هذا القسم مسار واجهة مستخدم وهمية مقترَحة لتفعيل ميزة "مزامنة الصوت مع الشاشة" وإيقافها. يقع إعداد إخراج الصوت ضمن قائمة العرض والصوت، كما هو موضّح في الشكل 1:

dsm_audio_output

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

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

dsm_ui_disable_arc

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

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

dsm_ui_enable_arc

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

التحقُّق

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

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

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

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

التحقّق من صحة مجموعة أدوات اختبار التوافق (CTS)

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

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

يمكنك الاطّلاع على اختبار مجموعة أدوات اختبار التوافق (CTS) لميزة CEC على أجهزة Android TV لتشغيل اختبارات مجموعة أدوات اختبار التوافق (CTS) لنظام التشغيل Android لميزة HDMI CEC.