Modalità soundbar dinamica

Con il supporto del framework Android 14, decoder e i dispositivi over-the-top (OTT) con altoparlanti integrati o connessi possono configurate come soundbar per i dispositivi connessi. Modalità soundbar dinamica (DSM) in Android 14 supporta il consumer HDMI Attributi di controllo dell'elettronica (CEC) per le soundbar, come il canale di ritorno audio (ARC) e controllo audio di sistema.

Questa funzionalità ha come target solo i dispositivi di riproduzione CEC di Android TV.

Requisiti

Per adottare la funzionalità della soundbar, gli OEM devono soddisfare i requisiti dell'UI di sistema e del dispositivo elencati in questa sezione.

Requisiti del dispositivo

Per supportare DSM, il dispositivo STB/OTT deve soddisfare i seguenti requisiti:

  • Sul dispositivo deve essere installato Android 14.
  • Quando è abilitato DSM, il dispositivo deve comportarsi come una soundbar che segue il Specifiche CEC HDMI, ad esempio ARC.
  • Il dispositivo deve essere in grado di riprodurre suoni integrati o speaker.
  • Quando il dispositivo non è un'origine attiva, tutti i contenuti multimediali devono essere messi in pausa sulla dispositivo, limitandone il consumo energetico.
di Gemini Advanced.

Requisiti UI di sistema

Per supportare DSM, gli OEM devono soddisfare i seguenti requisiti durante la progettazione del UI di sistema:

  • L'etichetta UI deve includere un riferimento ad ARC oppure Audio Return Channel (ARC).
  • La UI deve comunicare all'utente di connettere il dispositivo alla porta ARC della TV a stabilire la connessione ARC.
  • L'interfaccia utente deve informare l'utente che la funzionalità potrebbe non funzionare come previsto se un'altra soundbar o un ricevitore audio/video (AVR) sia collegato alla presa in ogni rete.
  • L'interfaccia utente deve comunicare all'utente che lo schermo potrebbe sfarfallare durante l'attivazione/disattivazione dell'ambientazione.
  • Se il dispositivo non dispone di altoparlanti integrati, DSM deve essere disattivato per impostazione predefinita.

Best practice: consigliamo di utilizzare lo strumento Display & Menu Audio come posizione per l'impostazione utente per attivare o disattivare ARC, come mostrato in Implementazione di SysUI.

Implementazione del framework

L'implementazione della funzionalità della soundbar CEC e l'allocazione dinamica dell'indirizzo logico 5 è presente nel framework Android. Il framework assegna l'indirizzo logico quando l'impostazione della soundbar è abilitata, per consentire al dispositivo in modo dinamico una soundbar. Quando l'impostazione della soundbar è disattivata, dealloca l'indirizzo logico.

In base all'input dell'utente nella UI di sistema, HdmiControlManager imposta CEC_SETTING_NAME_SOUNDBAR_MODE su SOUNDBAR_MODE_ENABLED o SOUNDBAR_MODE_DISABLED, Il valore predefinito CEC_SETTING_NAME_SOUNDBAR_MODE è impostato su SOUNDBAR_MODE_DISABLED.

HdmiControlService ascolta la modifica in CEC_SETTING_NAME_SOUNDBAR_MODE per effettuare le seguenti operazioni:

  • Verifica che esista un dispositivo di riproduzione locale e che la proprietà ARC sia supportati.
  • Attiva l'allocazione degli indirizzi logici per aggiungere o rimuovere il dispositivo audio locale.
  • Assicurati che lo stato dell'impostazione venga mantenuto, se il dispositivo è collegato a caldo.

Consulta il seguente esempio di dichiarazioni da impostare e ottenere lo stato del modalità 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.
     *
     * <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() {}

Implementazione OEM

Per supportare la funzionalità soundbar dinamica, gli OEM devono assicurarsi che l'hardware la supporta. Gli OEM devono configurare il dispositivo e implementa l'UI di sistema in modo da fornire l'interfaccia richiesta input utente.

Implementazione dei dispositivi

Per supportare la funzionalità soundbar su un dispositivo:

  1. Visualizza il dispositivo di riproduzione su Android 14.
  2. Implementa la porta HDMI ARC nel driver.
  3. Lascia invariati i valori RRO di config_cecSoundbarModeEnabled_default e config_cecSoundbarModeDisabled_default invariato in config.xml per fare in modo che la funzionalità rimanga disabilitata per impostazione predefinita.

  4. Assicurati che il dispositivo sia integrato o altoparlanti connessi per riprodurre l'audio e modificare configurazione dei criteri audio.

  5. Imposta la proprietà di sistema persist.sys.hdmi.property_arc_support su true, per indicare che ARC è supportato.

  6. Esponi l'impostazione per attivare/disattivare la modalità soundbar nella UI di sistema.

Per il debug, usa il seguente comando adb per attivare la funzionalità della soundbar o disattivata (1 per l'attivazione e 0 per la disattivazione):

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

Implementazione di SysUI

Questa sezione descrive un flusso di interfaccia utente fittizio consigliato per attivare e disattivare DSM. L'impostazione Output audio si trova nella sezione Display e Menu Audio, come mostrato nella figura 1:

output_audio_semaforo

Figura 1. Impostazione Uscita audio nella sezione Display e Audio.

Affinché DSM funzioni, l'impostazione Abilita HDMI-CEC deve essere attivata. La L'impostazione ARC può essere attivata solo se è attiva la tecnologia HDMI-CEC. L'impostazione ARC non è selezionabile e disattivato se HDMI-CEC è disattivato, come mostrato nella figura 2. Nella il seguente flusso di interfaccia utente, quando l'utente disattiva l'impostazione Abilita HDMI-CEC lo strumento Display & Audio e seleziona Home Speaker, l'impostazione ARC è disabilitata. L'utente può attivare l'impostazione Riproduci audio della televisione. Attivando l'opzione Abilita HDMI-CEC.

semantico_ui_disable_arc

Figura 2. UI per l'opzione ARC disattivata.

Quando l'impostazione HDMI-CEC è attivata, l'utente può utilizzare l'impostazione ARC in Output audio per attivare e disattivare DSM. Per attivare DSM, l'utente segue l'interfaccia utente come mostrato nella figura 3. Nel flusso di interfaccia utente seguente, per attivare la modalità soundbar, l'utente seleziona Home Speaker, quindi seleziona e conferma l'impostazione ARC. Per attivare fuori da DSM, l'utente disattiva l'impostazione ARC.

Abilitazione dell&#39;interfaccia utente

Figura 3. UI per abilitare DSM.

Convalida

Gli OEM possono eseguire un test audio per assicurarsi che gli altoparlanti del dispositivo di riproduzione riproduci l'audio proveniente dalla TV o da altri dispositivi connessi alla TV dal riquadro.

Convalida manuale

Utilizza i seguenti scenari per convalidare manualmente il comportamento previsto:

  • L'impostazione ARC è abilitata:
    • La TV si disattiva automaticamente.
    • Il suono della TV viene indirizzato agli altoparlanti del dispositivo.
  • L'impostazione ARC è disattivata:
    • La TV interrompe l'invio dell'audio al dispositivo.
    • La TV avvia la riproduzione dell'audio.
  • L'impostazione ARC è attivata e il dispositivo è connesso a un dispositivo non ARC alla TV:
    • Il dispositivo non riproduce il suono della TV.
  • L'impostazione ARC è abilitata e l'indirizzo logico 5 è utilizzato da un altro il dispositivo prima che lo sia connesso:
    • Il dispositivo si comporta come un dispositivo di pura riproduzione, non come una soundbar.
  • L'impostazione ARC è abilitata, l'indirizzo logico 5 è utilizzato dal dispositivo e un altro sistema audio è collegato alla rete:
      .
    • Il comportamento della soundbar del dispositivo rimane invariato.
  • L'impostazione ARC è abilitata, l'indirizzo logico 5 è utilizzato dal dispositivo collegato a una porta non ARC e un altro sistema audio è collegato alla Porta ARC:
    • La connessione ARC non viene stabilita con la TV per il secondo audio perché utilizza un indirizzo logico non registrato.
  • L'impostazione ARC è attivata e il dispositivo è collegato a caldo:
    • Il dispositivo segue il comportamento normale quando l'impostazione è attiva.

Convalida CTS

CtsHdmiCecHostTestCases deve essere superato quando l'impostazione della soundbar è disattivata. La HdmiCecSoundbarModeTest.java test nella suite di test CtsHdmiCecHostTestCases, testa le funzionalità di DSM.

Sebbene non sia un requisito di certificazione, esegui CtsHdmiCecHostTestCases con l'impostazione della soundbar attivata per convalidare la tua implementazione.

Consulta i test CTS CTS per dispositivi Android TV per eseguire i test CTS di Android per HDMI CEC.