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.
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:
- 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
invariato inconfig.xml
per fare in modo che la funzionalità rimanga disabilitata per impostazione predefinita.Assicurati che il dispositivo sia integrato o altoparlanti connessi per riprodurre l'audio e modificare configurazione dei criteri audio.
Imposta la proprietà di sistema
persist.sys.hdmi.property_arc_support
sutrue
, per indicare che ARC è supportato.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:
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.
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.
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.