Grâce à la prise en charge du framework Android 14, les OEM peuvent configurer des décodeurs et des appareils OTT avec des haut-parleurs intégrés ou connectés pour qu'ils servent de barres de son pour les appareils connectés. Le mode barre de son dynamique (DSM) d'Android 14 est compatible avec les attributs HDMI CEC (Consumer Electronics Control) 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 relatives à l'appareil et à l'UI du système listées dans cette section.
Configuration d'appareil requise
Pour prendre en charge DSM, le décodeur ou l'appareil OTT doit répondre aux exigences suivantes :
- L'appareil doit être équipé d'Android 14.
- Lorsque le DSM est activé, l'appareil doit se comporter comme une barre de son conformément aux spécifications HDMI CEC, telles que l'ARC.
- L'appareil doit être capable de lire du son sur des haut-parleurs intégrés ou connectés.
- 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.
Exigences concernant l'UI du système
Pour prendre en charge DSM, les OEM doivent répondre aux exigences suivantes lors de la conception de l'interface utilisateur du système :
- Le libellé de l'UI doit inclure une référence à ARC ou Audio Return Channel (ARC).
- L'UI doit informer l'utilisateur qu'il doit connecter l'appareil au port ARC du téléviseur pour établir la connexion ARC.
- L'UI doit informer l'utilisateur que la fonctionnalité peut 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 lorsqu'il active ou désactive le paramètre.
- Si l'appareil ne possède pas de haut-parleurs intégrés, le DSM doit être désactivé par défaut.
Nous vous recommandons d'utiliser le menu Affichage et son comme emplacement du paramètre utilisateur permettant d'activer ou de désactiver ARC, comme indiqué dans Implémentation de SysUI.
Implémentation du framework
L'implémentation de la fonctionnalité de barre de son CEC et de l'allocation dynamique de l'adresse logique 5 existe dans le framework Android. Le framework attribue l'adresse logique lorsque le paramètre de la barre de son est activé, pour que l'appareil devienne une barre de son de manière dynamique. Lorsque le paramètre de la barre de son est désactivé, le framework libère 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 de paramètre CEC_SETTING_NAME_SOUNDBAR_MODE pour effectuer les opérations suivantes :
- Validez si un appareil de lecture local existe et si la propriété ARC est prise en charge.
- Déclenchez l'attribution d'adresses logiques pour ajouter ou supprimer le périphérique audio local.
- Assurez-vous que l'état du paramètre est conservé si l'appareil est branché à chaud.
Consultez l'exemple de déclarations 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 par les OEM
Pour prendre en charge la fonctionnalité de barre de son dynamique, les OEM doivent s'assurer que le matériel la prend en charge. Les OEM doivent configurer l'appareil et implémenter l'UI du 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_defaultetconfig_cecSoundbarModeDisabled_defaultinchangées dansconfig.xmlafin 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 règle audio.
Définissez la propriété système
persist.sys.hdmi.property_arc_supportsurtruepour indiquer qu'ARC est compatible.Exposez le paramètre permettant d'activer ou de désactiver le mode barre de son dans l'interface utilisateur du système.
Pour le débogage, utilisez la commande
adbsuivante pour activer ou désactiver la fonctionnalité de barre de son (1pour activer et0pour 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'interface utilisateur fictif recommandé pour activer et désactiver le DSM. Le paramètre Sortie audio se trouve dans le menu Affichage et son, comme illustré sur la figure 1 :
Figure 1. Paramètre de sortie audio dans le menu "Affichage et son".
Pour que le DSM fonctionne, le paramètre Activer HDMI-CEC doit être activé. Le paramètre ARC ne peut être activé que si HDMI-CEC est activé. Le paramètre ARC est indisponible et désactivé si HDMI-CEC est désactivé, comme illustré sur la figure 2. Dans le flux d'interface utilisateur suivant, lorsque l'utilisateur désactive le paramètre Activer HDMI-CEC dans le menu Affichage et son et sélectionne Haut-parleur connecté, le paramètre ARC est désactivé. L'utilisateur peut activer le paramètre Lire l'audio du téléviseur en activant Activer HDMI-CEC.
Figure 2. Interface utilisateur 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 DSM. Pour activer DSM, l'utilisateur suit le flux d'interface utilisateur de la figure 3. Dans le flux d'interface utilisateur suivant, pour activer le mode barre de son, l'utilisateur sélectionne Haut-parleur pour la maison, 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 permettant d'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 à l'écran 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 met en mode silencieux.
- Le son du téléviseur est redirigé vers les haut-parleurs de l'appareil.
- Le paramètre ARC est désactivé :
- Le téléviseur cesse de rediriger le son vers l'appareil.
- Le téléviseur commence à lire le contenu audio.
- Le paramètre ARC est activé et l'appareil est connecté à un port non ARC du téléviseur :
- L'appareil ne lit 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 la connexion de l'appareil :
- L'appareil se comporte comme un simple appareil de lecture, 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 non 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 branché à chaud :
- L'appareil se comporte normalement, 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 HDMI CEC.