Tryb dynamicznego soundbara

dekodery (STB) z obsługą platformy Androida 14. oraz urządzenia Over-The-Top (OTT) z wbudowanymi lub podłączonymi głośnikami mogą skonfigurowane jako soundbary dla połączonych urządzeń. Tryb dynamicznego soundbara (DSM) w Androidzie 14 obsługuje urządzenia HDMI atrybuty sterowania elektroniką (CEC) w przypadku soundbarów, takie jak kanał zwrotny audio; (ARC) i sterowanie dźwiękiem w systemie.

Ta funkcja jest kierowana tylko na urządzenia odtwarzające CEC z Androidem TV.

Wymagania

Aby wdrożyć funkcję soundbar, producenci OEM muszą spełnić wymagania dotyczące interfejsu urządzenia i interfejsu systemu wymagań wymienionych w tej sekcji.

Wymagania dotyczące urządzeń

Aby obsługiwać DSM, urządzenie STB/OTT musi spełniać następujące wymagania:

  • Na urządzeniu musi być zainstalowany Android 14.
  • Po włączeniu DSM urządzenie musi działać jak soundbar po Specyfikacje HDMI CEC, takie jak ARC.
  • Urządzenie musi mieć możliwość odtwarzania dźwięku na wbudowanym lub podłączonym urządzeniu głośników.
  • Gdy urządzenie nie jest aktywnym źródłem, wszystkie multimedia muszą być wstrzymane urządzenia, ograniczając zużycie energii.
.

Wymagania interfejsu systemu

Aby zapewnić obsługę DSM, producenci OEM muszą podczas projektowania Interfejs systemu:

  • Etykieta interfejsu musi zawierać odniesienie do ARC lub Zwrot kanału audio (ARC).
  • Interfejs musi informować użytkownika, że musi podłączyć urządzenie do portu ARC telewizora, nawiązać połączenie ARC.
  • Interfejs musi informować użytkownika, że dana funkcja może nie działać zgodnie z oczekiwaniami, inny soundbar lub amplituner audio/wideo (AVR) jest podłączony do portu HDMI.
  • Interfejs użytkownika musi informować użytkownika, że ekran może migotać po przełączeniu .
  • Jeśli urządzenie nie ma wbudowanych głośników, tryb DSM musi być domyślnie wyłączony.

Sprawdzona metoda: zalecamy korzystanie z sieci reklamowej Menu dźwięku jako lokalizacja dla ustawienia użytkownika, aby włączyć lub wyłączyć ARC, jak pokazano to w Wdrożenie SysUI.

Implementacja platformy

Wdrożenie funkcji soundbara CEC i alokacji dynamicznej adresu logicznego 5 istnieje w platformie Androida. Platforma przydziela pod adresem logicznym po włączeniu ustawienia soundbara, aby urządzenie dynamicznie staje się soundbarem. Gdy to ustawienie jest wyłączone, platforma przydziela adres logiczny.

Na podstawie danych wejściowych użytkownika w interfejsie systemu: HdmiControlManager ustawia CEC_SETTING_NAME_SOUNDBAR_MODE na SOUNDBAR_MODE_ENABLED lub SOUNDBAR_MODE_DISABLED. Wartość domyślna pola CEC_SETTING_NAME_SOUNDBAR_MODE jest ustawiona na SOUNDBAR_MODE_DISABLED.

HdmiControlService słucha zmiany w pliku CEC_SETTING_NAME_SOUNDBAR_MODE aby:

  • Sprawdź, czy istnieje lokalne urządzenie odtwarzające, a właściwość ARC jest obsługiwane.
  • Włącz przydzielanie adresów logicznych, aby dodać lub usunąć lokalne urządzenie audio.
  • Jeśli urządzenie jest podłączone do zasilania, upewnij się, że stan ustawienia jest zachowywany.

Zapoznaj się z podanymi niżej przykładowymi deklaracjami, aby ustawić i sprawdzić stan: tryb soundbara:

    /**
     * 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.
     *
     * <p>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.
     *
     * <p>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, OEM musi upewnić się, że sprzęt który ją obsługuje. OEM musi skonfigurować urządzenie i zaimplementuj interfejs systemu, aby udostępnić wymagany interfejs danych wejściowych użytkownika.

Implementacja na urządzeniach

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

  1. Wyświetl urządzenie odtwarzające na Androidzie 14.
  2. Zaimplementuj port HDMI ARC w sterowniku.
  3. Pozostaw wartości RRO: config_cecSoundbarModeEnabled_default i config_cecSoundbarModeDisabled_default bez zmian w: config.xml dzięki czemu jest ona domyślnie wyłączona.

  4. Upewnij się, że urządzenie ma wbudowaną lub na podłączonych głośnikach, aby odtworzyć dźwięk, i edytować konfiguracji zasad audio.

  5. Ustaw właściwość systemową persist.sys.hdmi.property_arc_support na true, aby wskazać, że narzędzie ARC jest obsługiwane.

  6. Udostępnij ustawienie, aby przełączać tryb soundbara w interfejsie systemu.

Podczas debugowania użyj tego polecenia adb, aby włączyć funkcję soundbar lub wyłączone (1 – włączone i 0 – wyłączone):

adb shell cmd hdmi_control cec_setting set soundbar_mode <1/0>

Implementacja SysUI

W tej sekcji opisano zalecany, przykładowy przepływ procesu włączania i wyłączania DSM w interfejsie. Ustawienie Wyjście audio znajduje się w sekcji Wyświetlacz widoczne w menu Dźwięk. na ilustracji 1.

DSm_audio_output

Rysunek 1. Ustawienie wyjścia audio w sekcji Wyświetlacz Menu Dźwięk

Aby DSM działał, 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 wyszarzona i wyłączona, jeśli funkcja HDMI-CEC jest wyłączona, tak jak na ilustracji 2. W zgodnie z instrukcją interfejsu, gdy użytkownik wyłączy ustawienie Włącz HDMI-CEC w Funkcje Display & Dźwięk i wybierz Głośnik domowy (ustawienie ARC). jest wyłączona. Użytkownik może włączyć ustawienie Odtwarzaj dźwięk z telewizora przez: Włącz HDMI-CEC.

dsm_ui_wyłączanie_ARC

Rysunek 2. Interfejs wyłączonej opcji ARC.

Gdy ustawienie HDMI-CEC jest włączone, użytkownik może używać ustawienia ARC w Wyjście audio – umożliwia włączanie i wyłączanie DSM. Aby włączyć DSM, użytkownik postępuje zgodnie z instrukcjami w interfejsie przepływu na ilustracji 3. Aby włączyć tryb soundbara, użytkownik wybiera Głośnik domowy oraz wybiera i potwierdza ustawienie ARC. Aby włączyć wyłączony DSM, użytkownik wyłącza ustawienie ARC.

dsm_ui_enable_arc

Rysunek 3. Interfejs umożliwiający włączenie DSM.

Weryfikacja

OEM może przeprowadzić test dźwięku, by sprawdzić, czy głośniki urządzenia odtwarzającego odtwarzaj dźwięk pochodzący z telewizora lub innych urządzeń podłączonych do telewizora panel.

Weryfikacja ręczna

Skorzystaj z tych scenariuszy, aby ręcznie sprawdzić oczekiwane działanie:

  • Ustawienie ARC jest włączone:
    • Telewizor wyciszy się sam.
    • Dźwięk z telewizora jest kierowany na głośniki urządzenia.
  • Ustawienie ARC jest wyłączone:
    • Telewizor przestanie kierować dźwięk na urządzenie.
    • Telewizor zacznie odtwarzać dźwięk.
  • Ustawienie ARC jest włączone, a urządzenie jest połączone z siecią inną niż ARC do telewizora:
    • Urządzenie nie odtwarza dźwięku z telewizora.
  • Ustawienie ARC jest włączone, a adres logiczny 5 jest używany przez inny adres. urządzenie przed połączeniem:
    • Urządzenie działa jak czyste urządzenie odtwarzające, a nie soundbar.
  • Ustawienie ARC jest włączone, urządzenie używa adresu logicznego 5, do sieci jest podłączony inny system audio:
    • Działanie soundbara się nie zmienia.
  • Ustawienie ARC jest włączone, urządzenie używa adresu logicznego 5 do portu innego niż ARC, a do tego został podłączony inny system audio Port ARC:
    • Nie można nawiązać połączenia ARC z telewizorem w przypadku drugiego dźwięku systemu, ponieważ używa niezarejestrowanego adresu logicznego.
  • Ustawienie ARC jest włączone, a urządzenie jest podłączone do zasilania („gorąco”):
    • Urządzenie działa tak samo jak po włączeniu tego ustawienia.

Weryfikacja CTS

CtsHdmiCecHostTestCases jest wymagane, gdy ustawienie soundbara jest wyłączone. HdmiCecSoundbarModeTest.java w pakiecie testowym CtsHdmiCecHostTestCases, testuje funkcje DSM.

Chociaż nie jest to wymogiem certyfikacyjnym, uruchom aplikację CtsHdmiCecHostTestCases z Włączono soundbar, aby sprawdzić implementację.

Zobacz testy CEC CTS na urządzeniach z Androidem TV do uruchomienia testów Android CTS dla interfejsu HDMI CEC.