Grâce à la prise en charge du framework Android 14, les OEM peuvent configurer les box et les appareils OTT avec des haut-parleurs intégrés ou connectés en tant que barres de son pour les appareils connectés. Le mode barre de son dynamique (DSM) d'Android 14 est compatible avec les attributs CEC (Consumer Electronics Control) HDMI pour les barres de son, tels que le canal de retour audio (ARC) et le contrôle audio du système.
Cette fonctionnalité ne cible que les appareils de lecture CEC Android TV.
Conditions requises
Pour adopter la fonctionnalité de barre de son, les OEM doivent respecter les exigences concernant l'appareil et l'UI système listées dans cette section.
Configuration d'appareil requise
Pour être compatible avec DSM, le décodeur ou l'appareil OTT doit répondre aux exigences suivantes:
- L'appareil doit être équipé d'Android 14.
- Lorsque DSM est activé, l'appareil doit se comporter comme une barre de son conformément aux spécifications HDMI CEC, telles que ARC.
- L'appareil doit pouvoir diffuser du son sur des enceintes intégrées ou connectées.
- Lorsque l'appareil n'est pas une source active, tous les contenus multimédias doivent être mis en pause sur l'appareil, ce qui limite sa consommation d'énergie.
Configuration requise pour l'interface utilisateur du système
Pour prendre en charge DSM, les OEM doivent respecter les exigences suivantes lors de la conception de l'UI système:
- Le libellé de l'UI doit inclure une référence à ARC ou à Audio Return Channel (ARC).
- L'UI doit indiquer à l'utilisateur de connecter l'appareil au port ARC du téléviseur pour établir la connexion ARC.
- L'UI doit informer l'utilisateur que la fonctionnalité risque de ne pas fonctionner comme prévu si une autre barre de son ou un autre récepteur audio-vidéo (AVR) est connecté au réseau HDMI.
- L'UI doit informer l'utilisateur que l'écran peut clignoter lorsque le paramètre est activé.
- Si l'appareil ne possède pas de haut-parleurs intégrés, DSM doit être désactivé par défaut.
Nous vous recommandons d'utiliser le menu Affichage et son comme emplacement du paramètre utilisateur pour activer ou désactiver ARC, comme illustré dans la section Implémentation de SysUI.
Implémentation du framework
L'implémentation de la fonctionnalité de barre de son CEC et l'allocation dynamique de l'adresse logique 5 existent dans le framework Android. Le framework alloue l'adresse logique lorsque le paramètre de barre de son est activé, afin que l'appareil devienne dynamiquement une barre de son. Lorsque le paramètre de la barre de son est désactivé, le framework désalloue l'adresse logique.
En fonction de l'entrée utilisateur dans l'UI du système, HdmiControlManager
définit CEC_SETTING_NAME_SOUNDBAR_MODE
sur SOUNDBAR_MODE_ENABLED
ou SOUNDBAR_MODE_DISABLED
. La valeur par défaut de CEC_SETTING_NAME_SOUNDBAR_MODE
est définie sur SOUNDBAR_MODE_DISABLED
.
HdmiControlService
écoute le changement du paramètre CEC_SETTING_NAME_SOUNDBAR_MODE
pour effectuer les opérations suivantes:
- Vérifiez si un appareil de lecture local existe et si la propriété ARC est prise en charge.
- Déclenchez l'allocation d'adresses logiques pour ajouter ou supprimer l'appareil audio local.
- Assurez-vous que l'état du paramètre est conservé si l'appareil est connecté en mode hotplug.
Consultez l'exemple de déclaration suivant pour définir et obtenir l'état du mode barre de son:
/**
* 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() {}
Implémentation OEM
Pour que la fonctionnalité de barre de son dynamique soit prise en charge, les OEM doivent s'assurer que le matériel est compatible. Les OEM doivent configurer l'appareil et implémenter l'UI système pour fournir l'interface requise pour les entrées utilisateur.
Implémentation de l'appareil
Pour prendre en charge la fonctionnalité de barre de son sur un appareil:
- Affichez l'appareil de lecture sur Android 14.
- Implémentez le port HDMI ARC dans le pilote.
Laissez les valeurs RRO de
config_cecSoundbarModeEnabled_default
etconfig_cecSoundbarModeDisabled_default
inchangées dansconfig.xml
pour que la fonctionnalité reste désactivée par défaut.Assurez-vous que l'appareil dispose de haut-parleurs intégrés ou connectés pour lire l'audio, puis modifiez la configuration de la stratégie audio.
Définissez la propriété système
persist.sys.hdmi.property_arc_support
surtrue
pour indiquer qu'ARC est compatible.Exposez le paramètre permettant d'activer ou de désactiver le mode barre de son dans l'UI système.
Pour le débogage, utilisez la commande
adb
suivante pour activer ou désactiver la fonctionnalité de barre de son (1
pour l'activer et0
pour la désactiver):
adb shell cmd hdmi_control cec_setting set soundbar_mode <1/0>
Implémentation de SysUI
Cette section décrit un flux d'UI fictif recommandé pour activer et désactiver DSM. Le paramètre Sortie audio se trouve dans le menu Affichage et son, comme illustré dans la figure 1:
Figure 1 : Paramètre de sortie audio dans le menu "Affichage et son".
Pour que DSM fonctionne, le paramètre Activer le HDMI-CEC doit être activé. Le paramètre ARC ne peut être activé que si le HDMI-CEC est activé. Le paramètre ARC est indisponible et désactivé si HDMI-CEC est désactivé, comme illustré dans la figure 2. Dans le flux d'interface utilisateur suivant, lorsque l'utilisateur désactive le paramètre Activer le HDMI-CEC dans le menu Affichage et son et sélectionne Haut-parleur domestique, le paramètre ARC est désactivé. L'utilisateur peut activer le paramètre Lire l'audio du téléviseur en activant Activer le HDMI-CEC.
Figure 2. UI pour l'option ARC désactivée.
Lorsque le paramètre HDMI-CEC est activé, l'utilisateur peut utiliser le paramètre ARC sous Sortie audio pour activer et désactiver la DSM. Pour activer la DSM, l'utilisateur suit le flux de l'UI illustré à la figure 3. Dans le flux d'interface utilisateur suivant, pour activer le mode barre de son, l'utilisateur sélectionne Home Speaker (Haut-parleur d'accueil), puis sélectionne et confirme le paramètre ARC. Pour désactiver DSM, l'utilisateur désactive le paramètre ARC.
Figure 3. Interface utilisateur pour activer DSM
Validation
Les OEM peuvent effectuer un test audio pour s'assurer que les haut-parleurs de l'appareil de lecture diffusent le son provenant du téléviseur ou d'autres appareils connectés au panneau du téléviseur.
Validation manuelle
Utilisez les scénarios suivants pour valider manuellement le comportement attendu:
- Le paramètre ARC est activé :
- Le téléviseur se coupe.
- Le son de la télévision est acheminé vers les haut-parleurs de l'appareil.
- Le paramètre ARC est désactivé :
- La TV ne transmet plus l'audio vers l'appareil.
- Le téléviseur commence à lire l'audio.
- Le paramètre ARC est activé et l'appareil est connecté à un port non ARC du téléviseur :
- L'appareil ne diffuse pas le son du téléviseur.
- Le paramètre ARC est activé et l'adresse logique 5 est utilisée par un autre appareil avant que l'appareil ne soit connecté :
- L'appareil se comporte comme un appareil de lecture pur, et non comme une barre de son.
- Le paramètre ARC est activé, l'adresse logique 5 est utilisée par l'appareil et un autre système audio est connecté au réseau :
- Le comportement de la barre de son de l'appareil reste inchangé.
- Le paramètre ARC est activé, l'adresse logique 5 est utilisée par l'appareil connecté à un port autre qu'ARC et un autre système audio est connecté au port ARC :
- La connexion ARC n'est pas établie avec le téléviseur pour le deuxième système audio, car il utilise une adresse logique non enregistrée.
- Le paramètre ARC est activé et l'appareil est connecté en mode hotplug :
- L'appareil suit le comportement normal, comme lorsque le paramètre est activé.
Validation CTS
CtsHdmiCecHostTestCases
doit être transmis lorsque le paramètre de la barre de son est désactivé. Le test HdmiCecSoundbarModeTest.java
de la suite de tests CtsHdmiCecHostTestCases
teste les fonctionnalités DSM.
Bien que cela ne soit pas une exigence de certification, exécutez CtsHdmiCecHostTestCases
avec le paramètre de barre de son activé pour valider votre implémentation.
Consultez Tests CTS CEC pour les appareils Android TV pour exécuter les tests CTS Android pour le HDMI-CEC.