من خلال إتاحة إطار عمل Android 14، يمكن لمصنّعي المعدات الأصلية ضبط أجهزة فك التشفير وأجهزة البث عبر الإنترنت التي تتضمّن مكبّرات صوت مدمجة أو متصلة لتكون مكبّرات صوت شريطية للأجهزة المتصلة. ويتوافق وضع مكبّر الصوت الشريطي الديناميكي (DSM) في Android 14 مع سمات التحكّم بالأجهزة الإلكترونية الاستهلاكية (CEC) عبر HDMI لمكبّرات الصوت الشريطية، مثل قناة عودة الصوت (ARC) والتحكّم في صوت النظام.
تستهدف هذه الميزة أجهزة تشغيل Android TV CEC فقط.
المتطلبات
لاستخدام ميزة مكبّر الصوت، يجب أن تستوفي الشركات المصنّعة للمعدات الأصلية متطلبات الجهاز وواجهة مستخدم النظام المذكورة في هذا القسم.
متطلبات الجهاز
لاستخدام DSM، يجب أن يستوفي جهاز STB أو جهاز بث الوسائط المتطلبات التالية:
- يجب أن يعمل الجهاز بنظام التشغيل Android 14.
- عند تفعيل 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() {}
تنفيذ المصنّع الأصلي للجهاز
لإتاحة ميزة مكبّر الصوت الديناميكي، على الشركات المصنّعة للأجهزة الأصلية التأكّد من أنّ الأجهزة متوافقة معها. على الشركات المصنّعة للأجهزة الأصلية ضبط الجهاز وتنفيذ واجهة مستخدم النظام لتوفير الواجهة المطلوبة لإدخالات المستخدم.
تنفيذ الجهاز
لإتاحة ميزة مكبّر الصوت على جهاز، يجب استيفاء الشروط التالية:
- اعرض جهاز التشغيل على نظام التشغيل Android 14.
- تنفيذ منفذ HDMI ARC في برنامج التشغيل
اترك قيمتَي RRO
config_cecSoundbarModeEnabled_defaultوconfig_cecSoundbarModeDisabled_defaultبدون تغيير فيconfig.xmlليبقى الخيار غير مفعّل تلقائيًا.تأكَّد من أنّ الجهاز يتضمّن مكبّرات صوت مدمجة أو متصلة لتشغيل الصوت، وعدِّل إعدادات سياسة الصوت.
اضبط خاصية النظام
persist.sys.hdmi.property_arc_supportعلىtrueللإشارة إلى أنّ ARC متوافق.عرض الإعداد لتفعيل وضع مكبّر الصوت أو إيقافه في واجهة مستخدم النظام
لإجراء عملية تصحيح الأخطاء، استخدِم الأمر
adbالتالي لتفعيل ميزة مكبّر الصوت أو إيقافها (1للتفعيل و0للإيقاف):
adb shell cmd hdmi_control cec_setting set soundbar_mode <1/0>
تنفيذ واجهة المستخدم الخاصة بالنظام
يوضّح هذا القسم مسار واجهة مستخدم وهمية مقترَحة لتفعيل ميزة "مزامنة الصوت مع الشاشة" وإيقافها. يظهر خيار مصدر إخراج الصوت ضمن قائمة العرض والصوت، كما هو موضّح في الشكل 1:
الشكل 1: إعدادات مصدر إخراج الصوت ضِمن قائمة "العرض والصوت"
لكي تعمل ميزة DSM، يجب تفعيل الإعداد تفعيل HDMI-CEC. لا يمكن تفعيل إعداد ARC إلا إذا تم تفعيل ميزة HDMI-CEC. يكون إعداد ARC غير متاح ويتم إيقافه إذا تم إيقاف HDMI-CEC كما هو موضّح في الشكل 2. في مسار واجهة المستخدم التالي، عندما يوقف المستخدم الإعداد تفعيل HDMI-CEC في قائمة الشاشة والصوت ويختار مكبّر صوت Home، يتم إيقاف الإعداد ARC. يمكن للمستخدم تفعيل الإعداد تشغيل صوت التلفزيون من خلال تفعيل تفعيل HDMI-CEC.
الشكل 2: واجهة المستخدم لخيار ARC غير المفعّل
عند تفعيل إعداد HDMI-CEC، يمكن للمستخدم استخدام إعداد ARC ضمن مصدر إخراج الصوت لتفعيل ميزة DSM وإيقافها. لتفعيل ميزة DSM، يتّبع المستخدم خطوات واجهة المستخدم الموضّحة في الشكل 3. في مسار واجهة المستخدم التالي، لتفعيل وضع مكبّر الصوت، يختار المستخدم مكبّر الصوت المنزلي، ثم يختار إعداد ARC ويؤكّده. لإيقاف DSM، على المستخدم إيقاف إعداد ARC.
الشكل 3: واجهة المستخدم لتفعيل DSM
التحقق من صحة البيانات
يمكن لمصنّعي المعدات الأصلية إجراء اختبار صوتي للتأكّد من أنّ مكبّرات الصوت في جهاز التشغيل تصدر صوتًا من التلفزيون أو من أجهزة أخرى متصلة بلوحة التلفزيون.
التحقّق يدويًا
استخدِم السيناريوهات التالية للتحقّق يدويًا من السلوك المتوقّع:
- أن يكون خيار وقت تشغيل التطبيقات في Chrome مفعَّلاً:
- يتم كتم صوت التلفزيون تلقائيًا.
- يتم توجيه صوت التلفزيون إلى مكبّرات صوت الجهاز.
- إعداد وقت تشغيل التطبيقات في Chrome غير مفعّل:
- يتوقف التلفزيون عن توجيه الصوت إلى الجهاز.
- يبدأ التلفزيون بتشغيل الصوت.
- يكون إعداد ARC مفعّلاً والجهاز متصلاً بمنفذ غير ARC في التلفزيون:
- لا يشغّل الجهاز صوت التلفزيون.
- يكون إعداد ARC مفعَّلاً ويستخدم جهاز آخر العنوان المنطقي 5 قبل ربط الجهاز:
- يتصرف الجهاز كجهاز تشغيل صوتي فقط، وليس كجهاز عرض صوتي.
- تم تفعيل إعداد ARC، ويستخدم الجهاز العنوان المنطقي 5،
وتم ربط نظام صوت آخر بالشبكة:
- لن يطرأ أي تغيير على سلوك مكبّر الصوت.
- تم تفعيل إعداد ARC، ويستخدم الجهاز المتصل بمنفذ غير متوافق مع ARC العنوان المنطقي 5، كما أنّ نظام صوتي آخر متصل بمنفذ ARC:
- لا يتم إنشاء اتصال ARC مع نظام الصوت الثاني لأنّه يستخدم عنوانًا منطقيًا غير مسجّل.
- تم تفعيل إعداد ARC، وتم توصيل الجهاز أثناء تشغيله:
- يتصرف الجهاز بشكل طبيعي كما لو كان الإعداد مفعّلاً.
التحقّق من مجموعة أدوات اختبار التوافق (CTS)
يجب اجتياز اختبار CtsHdmiCecHostTestCases
عند إيقاف إعدادات مكبّر الصوت العمودي. يختبر HdmiCecSoundbarModeTest.java
في مجموعة اختبارات CtsHdmiCecHostTestCases وظائف DSM.
على الرغم من أنّ تشغيل CtsHdmiCecHostTestCases ليس شرطًا للحصول على شهادة الاعتماد، يجب تشغيله مع تفعيل إعدادات مكبّر الصوت للتأكّد من صحة عملية التنفيذ.
راجِع اختبارات CEC ضمن مجموعة أدوات اختبار التوافق (CTS) لأجهزة Android TV لتنفيذ اختبارات Android CTS لميزة HDMI CEC.