Tryb dynamicznego soundbara

Dzięki obsłudze Androida 14 producenci urządzeń mogą konfigurować dekodery i urządzenia OTT z wbudowanymi lub podłączonymi głośnikami jako soundbary dla urządzeń połączonych. 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ć te 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 dotyczące interfejsu systemu

Aby obsługiwać DSM, producenci 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 migać podczas przełączania ustawień.
  • 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, framework przydziela adres logiczny, aby urządzenie mogło dynamicznie stać się głośnikiem. Gdy ustawienie soundbara jest wyłączone, framework oddzieli 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 reaguje na zmianę w ustawieniu CEC_SETTING_NAME_SOUNDBAR_MODE, aby:

  • Sprawdź, czy istnieje lokalne urządzenie do odtwarzania i czy obsługuje ono ARC.
  • Wywołać przypisanie adresu logicznego, 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() {}

Implementacja przez producenta OEM

Aby obsługiwać funkcję dynamicznego soundbara, producenci OEM muszą zadbać o to, aby sprzęt ją obsługiwał. Producenci OEM muszą skonfigurować urządzeniewdrażać interfejs systemowy, aby zapewnić wymagany interfejs dla danych wejściowych użytkownika.

Implementacja na urządzeniu

Aby obsługiwać funkcję soundbara na urządzeniu:

  1. Wyświetl urządzenie do odtwarzania w Androidzie 14.
  2. Zaimplementuj port HDMI ARC w sterowniku.
  3. Pozostaw wartości RRO config_cecSoundbarModeEnabled_defaultconfig_cecSoundbarModeDisabled_defaultconfig.xml, aby funkcja była domyślnie wyłączona.

  4. 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.

  5. Aby wskazać, że ARC jest obsługiwany, ustaw właściwość systemową persist.sys.hdmi.property_arc_support na true.

  6. Wyświetl ustawienie, aby przełączyć tryb soundbara w UI systemu.

  7. Aby debugować, użyj tego polecenia adb, aby włączyć lub wyłączyć funkcję soundbara (1 – włączyć, 0 – wyłączyć):

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:

dsm_audio_output

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 (jak pokazano na rysunku 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.

dsm_ui_disable_arc

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.

dsm_ui_enable_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 wycisza się.
    • Dźwięk z telewizora jest kierowany do głośników urządzenia.
  • Ustawienie ARC jest wyłączone:
    • Telewizor przestanie przesyłać dźwięk do urządzenia.
    • Telewizor zaczyna odtwarzać dźwięk.
  • Ustawienie ARC jest włączone, a urządzenie jest połączone z portem telewizora, który nie obsługuje 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, adres logiczny 5 jest używany przez urządzenie, a w sieci jest podłączony inny system audio:
    • Zachowanie soundbara urządzenia nie ulega zmianie.
  • 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:
    • Połączenie ARC nie jest nawiązywane z telewizorem w przypadku drugiego systemu audio, ponieważ używa on niezarejestrowanego adresu logicznego.
  • Ustawienie ARC jest włączone, a urządzenie jest podłączone:
    • Urządzenie działa normalnie, tak jak w przypadku włączonego ustawienia.

Walidacja CTS

CtsHdmiCecHostTestCases jest wymagany, gdy ustawienie soundbara jest wyłączone. HdmiCecSoundbarModeTest.javaTest w pakiecie testów CtsHdmiCecHostTestCases sprawdza działanie funkcji DSM.

Chociaż nie jest to wymagane do uzyskania certyfikatu, uruchom CtsHdmiCecHostTestCases z włączonym soundbarem, 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).