Dzięki obsłudze platformy Androida 14 producenci OEM mogą konfigurować dekodery (STB) i urządzenia OTT z wbudowanymi lub podłączonymi głośnikami jako soundbary do połączonych urządzeń. Tryb dynamicznego soundbara (DSM) w Androidzie 14 obsługuje atrybuty HDMI CEC dla soundbarów, takie jak kanał zwrotny audio (ARC) i sterowanie systemem audio.
Ta funkcja dotyczy tylko urządzeń odtwarzających Android TV CEC.
Wymagania
Aby wdrożyć funkcję soundbara, producenci OEM muszą spełnić wymagania dotyczące urządzenia i interfejsu System UI wymienione w tej sekcji.
Wymagania dotyczące urządzeń
Aby obsługiwać DSM, urządzenie STB lub OTT musi spełniać następujące wymagania:
- Na urządzeniu musi być zainstalowany Android 14.
- Gdy funkcja DSM jest włączona, urządzenie musi działać jak soundbar zgodnie ze specyfikacją HDMI CEC, np. ARC.
- Urządzenie musi mieć możliwość odtwarzania dźwięku na wbudowanych lub podłączonych głośnikach.
- Gdy urządzenie nie jest aktywnym źródłem, wszystkie multimedia na tym urządzeniu muszą być wstrzymane, co ogranicza zużycie energii.
Wymagania interfejsu systemu
Aby obsługiwać DSM, OEM muszą podczas projektowania interfejsu użytkownika systemu spełnić te wymagania:
- Etykieta interfejsu musi zawierać odniesienie do ARC lub Audio Return Channel (ARC).
- Interfejs musi informować użytkownika, aby podłączył urządzenie do portu ARC telewizora w celu ustanowienia połączenia ARC.
- Interfejs użytkownika musi informować, że funkcja może nie działać zgodnie z oczekiwaniami, jeśli do sieci HDMI podłączony jest inny soundbar lub amplituner AV.
- Interfejs musi informować użytkownika, że ekran może migotać po przełączeniu ustawienia.
- Jeśli urządzenie nie ma wbudowanych głośników, DSM musi być domyślnie wyłączony.
Zalecamy, aby ustawienie Wyświetlanie i dźwięk było dostępne w menu, w którym użytkownik może włączać i wyłączać ARC, jak pokazano w implementacji SysUI.
Implementacja platformy
W ramach frameworka Androida dostępna jest implementacja funkcji soundbara CEC i dynamiczne przydzielanie adresu logicznego 5. Gdy włączone jest ustawienie głośnika Soundbar, platforma przydziela adres logiczny, aby urządzenie mogło dynamicznie stać się głośnikiem Soundbar. Gdy ustawienie soundbar jest wyłączone, platforma przypisuje adres logiczny.
Na podstawie danych wprowadzonych przez użytkownika w interfejsie systemu HdmiControlManager
ustawia CEC_SETTING_NAME_SOUNDBAR_MODE
na SOUNDBAR_MODE_ENABLED
lub
SOUNDBAR_MODE_DISABLED
. Wartość domyślna zasady CEC_SETTING_NAME_SOUNDBAR_MODE
to SOUNDBAR_MODE_DISABLED
.
HdmiControlService
nasłuchuje zmiany w ustawieniu CEC_SETTING_NAME_SOUNDBAR_MODE
i wykonuje te działania:
- Sprawdź, czy istnieje lokalne urządzenie do odtwarzania i czy obsługuje ono ARC.
- Włącz przydzielanie adresów logicznych, aby dodać lub usunąć lokalne urządzenie audio.
- Upewnij się, że stan ustawień jest zachowany, jeśli urządzenie jest podłączone.
Poniżej znajdziesz przykłady deklaracji do ustawiania i odczytywania stanu trybu Soundbar:
/**
* 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() {}
Wdrożenie OEM
Aby obsługiwać funkcję dynamicznego soundbara, producenci OEM muszą zadbać o to, aby sprzęt ją obsługiwał. Producenci OEM muszą skonfigurować urządzenie i wdrażać interfejs systemowy, aby zapewnić wymagany interfejs dla danych wejściowych użytkownika.
Implementacja na urządzeniach
Aby obsługiwać funkcję soundbara na urządzeniu:
- Wyświetl urządzenie odtwarzające na Androidzie 14.
- Zaimplementuj port HDMI ARC w sterowniku.
Pozostaw wartości RRO
config_cecSoundbarModeEnabled_default
iconfig_cecSoundbarModeDisabled_default
wconfig.xml
, aby funkcja była domyślnie wyłączona.Upewnij się, że urządzenie ma wbudowane lub podłączone głośniki, na których można odtwarzać dźwięk, i zmodyfikuj konfigurację zasad dotyczących dźwięku.
Aby wskazać, że ARC jest obsługiwany, ustaw właściwość systemową
persist.sys.hdmi.property_arc_support
natrue
.Wyświetl ustawienie, aby przełączyć tryb soundbara w UI systemu.
Podczas debugowania włącz lub wyłącz funkcję soundbar za pomocą tego polecenia
adb
(1
– włączone,0
– wyłączone):
adb shell cmd hdmi_control cec_setting set soundbar_mode <1/0>
Implementacja interfejsu SysUI
W tej sekcji opisano zalecany, testowy przepływ interfejsu użytkownika dotyczący włączania i wyłączania DSM. Ustawienie Wyjście audio znajduje się w menu Wyświetlacz i dźwięk, jak pokazano na rysunku 1:
Rysunek 1. Ustawienie wyjścia audio w menu Wyświetlacz i dźwięk.
Aby DSM działało, musisz włączyć ustawienie Włącz HDMI-CEC. Ustawienie ARC można włączyć tylko wtedy, gdy włączona jest funkcja HDMI-CEC. Ustawienie ARC jest niedostępne i wyłączone, jeśli HDMI-CEC jest wyłączone, tak jak na ilustracji 2. W tym interfejsie, gdy użytkownik wyłączy ustawienie Włącz HDMI-CEC w menu Wyświetlacz i dźwięk oraz wybierze Głośnik domowy, ustawienie ARC zostanie wyłączone. Użytkownik może włączyć ustawienie Odtwarzanie dźwięku z telewizora, włączając opcję Włącz HDMI-CEC.
Rysunek 2. Interfejs opcji wyłączonej opcji ARC
Gdy ustawienie HDMI-CEC jest włączone, użytkownik może włączyć lub wyłączyć DSM, korzystając z ustawienia ARC w sekcji Wyjście audio. Aby włączyć DSM, użytkownik postępuje zgodnie z przepływem interfejsu użytkownika pokazanym na rysunku 3. W tym interfejsie użytkownik, aby włączyć tryb soundbara, wybiera Głośnik domowy, a następnie wybiera i potwierdza ustawienie ARC. Aby wyłączyć DSM, użytkownik wyłącza ustawienie ARC.
Rysunek 3. Interfejs do włączania DSM.
Weryfikacja
Producenci OEM mogą przeprowadzić test dźwięku, aby sprawdzić, czy głośniki urządzenia odtwarzającego dźwięk pochodzący z telewizora lub innych urządzeń połączonych z telewizorem.
Weryfikacja ręczna
Aby ręcznie sprawdzić oczekiwane działanie, użyj tych scenariuszy:
- Ustawienie ARC jest włączone:
- Telewizor wyciszy się sam.
- Dźwięk z telewizora jest kierowany do głośników urządzenia.
- Ustawienie ARC jest wyłączone:
- Telewizor przestanie kierować dźwięk na urządzenie.
- Telewizor zaczyna odtwarzać dźwięk.
- Ustawienie ARC jest włączone, a urządzenie jest połączone z telewizorem przez port inny niż ARC:
- Urządzenie nie odtwarza dźwięku z telewizora.
- Ustawienie ARC jest włączone, a adres logiczny 5 jest używany przez inne urządzenie przed połączeniem:
- Urządzenie działa jak zwykłe urządzenie do odtwarzania, a nie jako soundbar.
- Ustawienie ARC jest włączone, urządzenie używa adresu logicznego 5, a inny system audio jest podłączony do sieci:
- Działanie soundbara się nie zmienia.
- Ustawienie ARC jest włączone, adres logiczny 5 jest używany przez urządzenie połączone z portem niebędącym ARC, a do portu ARC podłączony jest inny system audio:
- Nie nawiązano połączenia ARC z telewizorem dla drugiego systemu audio, ponieważ używa on niezarejestrowanego adresu logicznego.
- Ustawienie ARC jest włączone, a urządzenie jest podłączone do zasilania:
- Urządzenie działa normalnie, tak jak w przypadku włączonego ustawienia.
Walidacja CTS
CtsHdmiCecHostTestCases
jest wymagany, gdy ustawienie soundbara jest wyłączone. W pakiecie testowym CtsHdmiCecHostTestCases
test HdmiCecSoundbarModeTest.java
służy do testowania funkcji DSM.
Chociaż nie jest to wymagane do uzyskania certyfikatu, uruchom CtsHdmiCecHostTestCases
z włączonym ustawieniem paska dźwięku, aby sprawdzić implementację.
Aby przeprowadzić testy CTS Androida dotyczące HDMI CEC, zapoznaj się z artykułem CEC CTS testing for Android TV devices (Testy CTS CEC dla urządzeń z Androidem TV).