Благодаря поддержке платформы Android 14 OEM-производители могут настраивать телевизионные приставки (STB) и устройства Over-the-top (OTT) со встроенными или подключенными динамиками в качестве звуковых панелей для подключенных устройств. Режим динамической звуковой панели (DSM) в Android 14 поддерживает атрибуты управления бытовой электроникой HDMI (CEC) для звуковых панелей, такие как обратный канал звука (ARC) и управление системным звуком.
Эта функция предназначена только для устройств воспроизведения Android TV CEC.
Требования
Чтобы использовать функцию звуковой панели, OEM-производители должны соответствовать требованиям к устройству и системному пользовательскому интерфейсу, перечисленным в этом разделе.
Требования к устройству
Для поддержки DSM устройство STB или OTT должно соответствовать следующим требованиям:
- Устройство должно работать под управлением Android 14.
- Когда DSM включен, устройство должно вести себя как звуковая панель в соответствии со спецификациями HDMI CEC, такими как ARC.
- Устройство должно быть способно воспроизводить звук через встроенные или подключенные динамики.
- Если устройство не является активным источником, все медиафайлы на устройстве должны быть приостановлены, что ограничивает его энергопотребление.
Требования к системному пользовательскому интерфейсу
Для поддержки DSM OEM-производители должны соблюдать следующие требования при разработке пользовательского интерфейса системы:
- Метка пользовательского интерфейса должна содержать ссылку на ARC или Audio Return Channel (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>
реализация системного интерфейса
В этом разделе описан рекомендуемый макет пользовательского интерфейса для включения и выключения 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.
Валидация
OEM-производители могут выполнить аудиотест, чтобы убедиться, что динамики воспроизводящего устройства воспроизводят звук, исходящий от телевизора или других устройств, подключенных к панели телевизора.
Ручная проверка
Используйте следующие сценарии, чтобы вручную проверить ожидаемое поведение:
- Настройка 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.