Благодаря поддержке платформы Android 14 производители оборудования могут настраивать телеприставки (STB) и устройства OTT (over-the-top) со встроенными или подключенными динамиками в качестве саундбаров для подключенных устройств. Динамический режим саундбара (DSM) в Android 14 поддерживает атрибуты HDMI CEC (Consumer Electronics Control) для саундбаров, такие как канал возврата звука (ARC) и управление системным звуком.
Эта функция предназначена только для устройств воспроизведения CEC на базе Android TV.
Требования
Для внедрения функции саундбара производители оборудования должны соответствовать требованиям к устройству и пользовательскому интерфейсу системы, перечисленным в этом разделе.
Требования к устройству
Для поддержки DSM устройство STB или OTT должно соответствовать следующим требованиям:
- Устройство должно работать под управлением Android 14.
- При включении DSM устройство должно работать как саундбар, соблюдая спецификации HDMI CEC, такие как ARC.
- Устройство должно уметь воспроизводить звук через встроенные или подключенные динамики.
- Когда устройство не является активным источником, все мультимедийные файлы на устройстве должны быть приостановлены, что ограничивает его энергопотребление.
Требования к пользовательскому интерфейсу системы
Для поддержки DSM производители оригинального оборудования должны соответствовать следующим требованиям при разработке пользовательского интерфейса системы:
- В метке пользовательского интерфейса должна содержаться ссылка на ARC или Audio Return Channel (ARC) .
- Пользовательский интерфейс должен сообщать пользователю о необходимости подключить устройство к порту ARC телевизора для установления соединения ARC.
- Пользовательский интерфейс должен информировать пользователя о том, что функция может работать некорректно, если к сети HDMI подключена другая звуковая панель или аудио-видеоресивер (AVR).
- Пользовательский интерфейс должен информировать пользователя о том, что при переключении настроек экран может мерцать.
- Если устройство не имеет встроенных динамиков, функция DSM должна быть отключена по умолчанию.
В качестве оптимального варианта мы рекомендуем использовать меню «Дисплей и звук» в качестве места для пользовательских настроек включения или отключения ARC , как показано в реализации SysUI .
Реализация фреймворка
В Android Framework реализована функциональность CEC-саундбара и динамическое выделение логического адреса 5. Framework выделяет логический адрес, когда включена функция саундбара, позволяя устройству динамически переключаться в режим саундбара. Когда функция саундбара отключена, Framework освобождает логический адрес.
В зависимости от ввода данных пользователем в системном интерфейсе, 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() {}
Внедрение OEM
Для поддержки функции динамического саундбара производители оборудования должны обеспечить ее поддержку. Они также должны настроить устройство и реализовать пользовательский интерфейс , чтобы обеспечить необходимый интерфейс для ввода данных пользователем.
Реализация устройства
Для поддержки функции саундбара на устройстве:
- Откройте устройство воспроизведения на 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>
Реализация SysUI
В этом разделе описывается рекомендуемый, смоделированный сценарий пользовательского интерфейса для включения и выключения DSM. Параметр вывода звука находится в меню «Дисплей и звук» , как показано на рисунке 1:

Рисунок 1. Настройки вывода звука в меню «Дисплей и звук».
Для работы DSM необходимо включить параметр «Включить HDMI-CEC» . Параметр ARC можно включить только при включенном HDMI-CEC. Параметр ARC недоступен и отключен, если HDMI-CEC отключен, как показано на рисунке 2. В следующем пользовательском интерфейсе, когда пользователь отключает параметр « Включить HDMI-CEC» в меню «Дисплей и звук» и выбирает «Домашний динамик» , параметр ARC отключается. Пользователь может включить параметр « Воспроизводить звук телевизора» , включив параметр «Включить HDMI-CEC» .

Рисунок 2. Пользовательский интерфейс для отключенной опции ARC.
Когда включена настройка HDMI-CEC, пользователь может использовать параметр ARC в разделе «Аудиовыход» для включения и выключения DSM. Чтобы включить DSM, пользователь должен следовать последовательности действий в пользовательском интерфейсе, показанной на рисунке 3. В следующей последовательности действий, чтобы включить режим саундбара, пользователь выбирает «Домашний динамик» , а затем выбирает и подтверждает настройку ARC . Чтобы выключить DSM, пользователь выключает настройку 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.