Con il supporto del framework Android 14, gli OEM possono configurare set-top box (STB) e dispositivi over-the-top (OTT) con altoparlanti integrati o collegati come soundbar per i dispositivi connessi. La modalità soundbar dinamica (DSM) in Android 14 supporta gli attributi HDMI Consumer Electronics Control (CEC) per le soundbar, come il canale di ritorno audio (ARC) e il controllo dell'audio di sistema.
Questa funzionalità ha come target solo i dispositivi di riproduzione CEC Android TV.
Requisiti
Per adottare la funzionalità della soundbar, gli OEM devono soddisfare i requisiti del dispositivo e dell'UI di sistema elencati in questa sezione.
Requisiti del dispositivo
Per supportare il DSM, il dispositivo STB o OTT deve soddisfare i seguenti requisiti:
- Sul dispositivo deve essere installato Android 14.
- Quando la funzionalità DSM è attiva, il dispositivo deve comportarsi come una soundbar seguendo le specifiche HDMI CEC, ad esempio ARC.
- Il dispositivo deve essere in grado di riprodurre l'audio su altoparlanti integrati o collegati.
- Quando il dispositivo non è una fonte attiva, tutti i contenuti multimediali devono essere messi in pausa sul dispositivo, limitandone il consumo energetico.
Requisiti dell'interfaccia utente di sistema
Per supportare DSM, gli OEM devono soddisfare i seguenti requisiti durante la progettazione dell'interfaccia utente di sistema:
- L'etichetta dell'interfaccia utente deve includere un riferimento ad ARC o Audio Return Channel (ARC).
- La UI deve comunicare all'utente di connettere il dispositivo alla porta ARC della TV per stabilire la connessione ARC.
- L'interfaccia utente deve informare l'utente che la funzionalità potrebbe non funzionare come previsto se nella rete HDMI è collegato un altro sintoamplificatore o ricevitore audio-video (AVR).
- L'interfaccia utente deve informare l'utente che lo schermo potrebbe sfarfallare quando attiva/disattiva l'impostazione.
- Se il dispositivo non ha altoparlanti integrati, la funzionalità DSM deve essere disattivata per impostazione predefinita.
Come best practice, ti consigliamo di utilizzare il menu Display e audio come posizione dell'impostazione dell'utente per attivare o disattivare ARC, come mostrato nell'implementazione di SysUI.
Implementazione del framework
L'implementazione della funzionalità della soundbar CEC e l'allocazione dinamica dell'indirizzo logico 5 esistono nel framework Android. Il framework alloca l'indirizzo logico quando l'impostazione della soundbar è abilitata, in modo che il dispositivo diventa una soundbar in modo dinamico. Quando l'impostazione della soundbar è disattivata, il framework dealloca l'indirizzo logico.
In base all'input dell'utente nell'interfaccia utente di sistema, HdmiControlManager
imposta CEC_SETTING_NAME_SOUNDBAR_MODE
su SOUNDBAR_MODE_ENABLED
o SOUNDBAR_MODE_DISABLED
. Il valore predefinito di CEC_SETTING_NAME_SOUNDBAR_MODE
è impostato su SOUNDBAR_MODE_DISABLED
.
HdmiControlService
ascolta la modifica dell'impostazione CEC_SETTING_NAME_SOUNDBAR_MODE
per eseguire le seguenti operazioni:
- Verifica se esiste un dispositivo di riproduzione locale e se la proprietà ARC è supportata.
- Attiva l'allocazione dell'indirizzo logico per aggiungere o rimuovere il dispositivo audio locale.
- Assicurati che lo stato dell'impostazione venga mantenuto, se il dispositivo è collegato tramite hot plug.
Consulta il seguente esempio di dichiarazioni da impostare e ottenere lo stato della 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.
*
* 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() {}
Implementazione OEM
Per supportare la funzionalità della soundbar dinamica, gli OEM devono assicurarsi che l'hardware lo supporti. Gli OEM devono configurare il dispositivo e implementare l'interfaccia utente di sistema per fornire l'interfaccia richiesta per gli input utente.
Implementazione del dispositivo
Per supportare la funzionalità soundbar su un dispositivo:
- Visualizza il dispositivo di riproduzione su Android 14.
- Implementa la porta HDMI ARC nel driver.
Lascia invariati i valori RRO di
config_cecSoundbarModeEnabled_default
econfig_cecSoundbarModeDisabled_default
inconfig.xml
in modo che la funzionalità rimanga disattivata per impostazione predefinita.Assicurati che il dispositivo abbia altoparlanti integrati o collegati per riprodurre l'audio e modifica la configurazione dei criteri audio.
Imposta la proprietà di sistema
persist.sys.hdmi.property_arc_support
sutrue
per indicare che ARC è supportato.Mostra l'impostazione per attivare/disattivare la modalità della soundbar nell'interfaccia utente di sistema.
Per il debug, utilizza il seguente comando
adb
per attivare o disattivare la funzionalità della soundbar (1
per attivare e0
per disattivare):
adb shell cmd hdmi_control cec_setting set soundbar_mode <1/0>
Implementazione di SysUI
Questa sezione descrive un flusso consigliato della UI simulata per attivare e disattivare il DSM. L'impostazione Uscita audio si trova nel menu Display e audio, come mostrato nella figura 1:
Figura 1. Impostazione Uscita audio nel menu Display e audio.
Affinché DSM funzioni, l'impostazione Attiva HDMI-CEC deve essere attivata. L'impostazione ARC può essere attivata solo se è attiva la tecnologia HDMI-CEC. L'impostazione ARC non è disponibile e viene disattivata se HDMI-CEC è disattivata, come mostrato nella figura 2. Nel seguente flusso dell'interfaccia utente, quando l'utente disattiva l'impostazione Attiva HDMI-CEC nel menu Display e audio e seleziona Altoparlante da casa, l'impostazione ARC viene disattivata. L'utente può attivare l'impostazione Riproduci audio della televisione abilitando Attiva HDMI-CEC.
Figura 2. Interfaccia utente per l'opzione ARC disattivata.
Quando l'impostazione HDMI-CEC è attiva, l'utente può utilizzare l'impostazione ARC in Uscita audio per attivare e disattivare il DSM. Per attivare il DSM, l'utente segue il flusso della UI nella figura 3. Nel flusso di UI seguente, per attivare la modalità soundbar, l'utente seleziona Home Speaker, quindi seleziona e conferma l'impostazione ARC. Per disattivare DSM, l'utente disattiva l'impostazione ARC.
Figura 3. UI per abilitare DSM.
Convalida
Gli OEM possono eseguire un test audio per assicurarsi che gli altoparlanti del dispositivo di riproduzione riproducano l'audio proveniente dalla TV o da altri dispositivi connessi al pannello della TV.
Convalida manuale
Utilizza i seguenti scenari per convalidare manualmente il comportamento previsto:
- L'impostazione ARC è attivata:
- La TV si mette in modalità silenziosa.
- Il suono della TV viene indirizzato agli altoparlanti del dispositivo.
- L'impostazione ARC è disattivata:
- La TV smette di inviare l'audio al dispositivo.
- La TV inizia a riprodurre l'audio.
- L'impostazione ARC è attivata e il dispositivo è collegato a una porta non ARC della TV:
- Il dispositivo non riproduce l'audio della TV.
- L'impostazione ARC è attivata e l'indirizzo logico 5 è in uso da un altro
dispositivo prima che il dispositivo venga collegato:
- Il dispositivo si comporta come un dispositivo di riproduzione puro, non come una soundbar.
- L'impostazione ARC è attiva, l'indirizzo logico 5 è in uso dal dispositivo e un altro impianto audio è collegato alla rete:
- Il comportamento della soundbar del dispositivo non cambia.
- L'impostazione ARC è attivata, l'indirizzo logico 5 è in uso dal dispositivo collegato a una porta non ARC e un altro impianto audio è collegato alla porta ARC:
- La connessione ARC non è stata stabilita con la TV per il secondo sistema audio perché utilizza un indirizzo logico non registrato.
- L'impostazione ARC è attivata e il dispositivo è collegato tramite hot plug:
- Il dispositivo segue il comportamento normale quando l'impostazione è attiva.
Convalida CTS
CtsHdmiCecHostTestCases
è obbligatorio per superare l'accesso quando l'impostazione della soundbar è disattivata. Il test HdmiCecSoundbarModeTest.java
nella suite di test CtsHdmiCecHostTestCases
testa le funzionalità DSM.
Sebbene non sia un requisito di certificazione, esegui CtsHdmiCecHostTestCases
con l'impostazione della barra audio abilitata per convalidare l'implementazione.
Consulta la sezione Test CTS CEC per i dispositivi Android TV per eseguire i test CTS Android per HDMI CEC.