Благодаря поддержке платформы Android 14 производители оригинального оборудования могут настраивать телевизионные приставки (STB) и устройства с поддержкой технологии OTT (OTT) со встроенными или подключенными динамиками в качестве саундбаров для подключенных устройств. Динамический режим звуковой панели (DSM) в Android 14 поддерживает атрибуты управления потребительской электроникой (CEC) HDMI для звуковых панелей, такие как обратный аудиоканал (ARC) и управление системным звуком.
Эта функция предназначена только для устройств воспроизведения Android TV CEC.
Требования
Чтобы внедрить функцию звуковой панели, производители оригинального оборудования должны соответствовать требованиям к устройству и пользовательскому интерфейсу системы, перечисленным в этом разделе.
Требования к устройству
Для поддержки DSM устройство STB или OTT должно соответствовать следующим требованиям:
- Устройство должно работать под управлением Android 14.
- При включении DSM устройство должно вести себя как звуковая панель, соответствуя спецификациям HDMI CEC, таким как ARC.
- Устройство должно иметь возможность воспроизводить звук через встроенные или подключенные динамики.
- Когда устройство не является активным источником, все медиафайлы на устройстве должны быть приостановлены, что ограничивает его энергопотребление.
Требования к системному пользовательскому интерфейсу
Для поддержки DSM OEM-производители должны соблюдать следующие требования при проектировании системного пользовательского интерфейса:
- Метка пользовательского интерфейса должна включать ссылку на ARC или обратный аудиоканал (ARC) .
- Пользовательский интерфейс должен информировать пользователя о необходимости подключения устройства к порту ARC телевизора для установления соединения ARC.
- Пользовательский интерфейс должен информировать пользователя о том, что функция может работать не так, как ожидается, если к сети HDMI подключена другая звуковая панель или аудио-видеоресивер (AVR).
- Пользовательский интерфейс должен информировать пользователя о том, что при переключении настроек экран может мерцать.
- Если устройство не имеет встроенных динамиков, 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() {}
Реализация OEM
Для поддержки функции динамической звуковой панели OEM-производители должны убедиться, что оборудование поддерживает эту функцию. 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 см. в разделе «Тестирование CEC CTS для устройств Android TV» для запуска тестов Android CTS для HDMI CEC.