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

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

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

المتطلبات

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

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

لتفعيل ميزة "إدارة المحتوى الرقمي"، يجب أن يستوفي جهاز فك التشفير أو جهاز OTT المتطلبات التالية:

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

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

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

  • يجب أن يتضمّن تصنيف واجهة المستخدم إشارة إلى ARC أو Audio Return Channel (ARC).
  • يجب أن تطلب واجهة المستخدم من المستخدم توصيل الجهاز بمنفذ ARC في التلفزيون لبدء اتصال ARC.
  • يجب أن تُعلم واجهة المستخدم المستخدم بأنّ الميزة قد لا تعمل على النحو المتوقَّع في حال توصيل مكبّر صوت شريطي أو جهاز استقبال صوت وفيديو آخر في شبكة HDMI.
  • يجب أن تُعلم واجهة المستخدم المستخدم بأنّ الشاشة قد تومض عند تبديل الإعداد.
  • إذا لم يكن الجهاز يحتوي على مكبرات صوت مدمَجة، فيجب إيقاف DSM تلقائيًا.

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

تنفيذ إطار العمل

هناك تنفيذ لوظيفة مكبّر الصوت العمودي 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 في قائمة الشاشة والصوت ويختار مكبّر صوت المنزل، يتم إيقاف الإعداد ARC. يمكن للمستخدم تفعيل الإعداد تشغيل صوت التلفزيون من خلال تفعيل تفعيل HDMI-CEC.

dsm_ui_disable_arc

الشكل 2: واجهة مستخدم لخيار "وقت تشغيل التطبيقات في Chrome" غير المفعَّل

عند تفعيل إعداد 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 بالتلفزيون لنظام الصوت الثاني لأنّه يستخدم عنوانًا منطقيًا غير مسجَّل.
  • تم تفعيل إعداد وقت تشغيل التطبيقات في Chrome، وتم توصيل الجهاز بالطاقة:
    • يتّبع الجهاز السلوك العادي كما هو الحال عندما يكون الإعداد مفعَّلاً.

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

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

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

يمكنك الاطّلاع على اختبار CEC CTS لأجهزة Android TV لإجراء اختبارات CTS لنظام التشغيل Android باستخدام HDMI CEC.