Mode barre de son dynamique

Compatibles avec le framework Android 14, les boîtiers décodeurs et les appareils de service de distribution par contournement (OTT, over-the-top) dotés d'enceintes intégrées ou connectées peuvent être configurés comme barres de son pour les appareils connectés. Mode Barre de son dynamique (DSM) sous Android 14 est compatible avec le consommateur HDMI ; Attributs de contrôle électronique (CEC) 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 barre de son, les OEM doivent disposer de l'UI de l'appareil et du système. exigences indiquées dans cette section.

Configuration d'appareil requise

Pour être compatible avec DSM, le STB/OTT doit disposer de la configuration suivante:

  • L'appareil doit être équipé d'Android 14.
  • Lorsque DSM est activé, l'appareil doit se comporter comme une barre de son suivant Spécifications CEC HDMI, telles que ARC.
  • L'appareil doit pouvoir diffuser des sons sur des appareils intégrés ou connectés haut-parleurs.
  • Lorsque l'appareil n'est pas une source active, tous les contenus multimédias doivent être mis en pause sur ce qui limite sa consommation d'énergie.

Configuration requise pour l'UI du système

Pour prendre en charge DSM, les OEM doivent répondre aux exigences suivantes lors de la conception UI du système:

  • L'étiquette de l'UI doit inclure une référence à ARC ou Audio Return Channel (ARC) :
  • L'interface utilisateur doit demander à l'utilisateur de connecter l'appareil au port ARC du téléviseur établir la connexion ARC.
  • L'interface utilisateur doit informer l'utilisateur que la fonctionnalité risque de ne pas fonctionner comme prévu si une autre barre de son ou récepteur audio/vidéo (AVR) est connecté au port HDMI réseau.
  • L'interface utilisateur doit informer l'utilisateur que l'écran risque de scintiller lors de l'activation ou la désactivation du .
  • Si l'appareil ne dispose pas d'enceintes intégrées, DSM doit être désactivé par défaut.

Bonne pratique: nous vous recommandons d'utiliser les campagnes display et Menu des sons en tant que lieu pour le paramètre utilisateur d'activer ou de désactiver la fonctionnalité ARC, comme indiqué dans Implémentation SysUI.

Implémentation du framework

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 alloue l'adresse logique lorsque le paramètre "Barre de son" est activé, pour que l'appareil qui se transforme en barre de son de manière dynamique. Lorsque le paramètre de la barre de son est désactivé, 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 la modification dans 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 compatibles.
  • Déclenchez l'attribution 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 branché à chaud.

Consultez les exemples de déclarations suivants 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.
     *
     * <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() {}

Implémentation OEM

Pour proposer une barre de son dynamique, les OEM doivent s'assurer que le matériel le prend en charge. Les OEM doivent configurer l'appareil. implémentez l'UI du système pour fournir l'interface requise pour les entrées utilisateur.

Implémentation sur les appareils

Pour utiliser la fonctionnalité Barre de son sur un appareil:

  1. Affichez l'appareil de lecture sur Android 14.
  2. Implémentez le port HDMI ARC dans le pilote.
  3. Conservez les valeurs RRO de config_cecSoundbarModeEnabled_default et config_cecSoundbarModeDisabled_default inchangés (config.xml) afin qu'elle reste désactivée par défaut.

  4. Assurez-vous que l'appareil dispose de sur les enceintes connectées pour lire le contenu audio et modifier le configuration des règles audio.

  5. Définissez la propriété système persist.sys.hdmi.property_arc_support sur true, pour indiquer que ARC est pris en charge.

  6. Présentez le paramètre permettant d'activer/de désactiver le mode barre de son dans l'UI du système.

Pour le débogage, utilisez la commande adb suivante pour activer la fonctionnalité de barre de son. ou éteindre (1 pour l'activation et 0 pour la désactivation):

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

Implémentation SysUI

Cette section décrit un flux d'interface utilisateur fictif recommandé pour activer et désactiver DSM. Le paramètre Sortie audio se trouve sous Affichage et son, comme illustré ici. sur la figure 1:

sortie_audio_fonctionnelle

Figure 1 : Paramètre de sortie audio sous le menu Affichage et son.

Pour que DSM fonctionne, le paramètre Activer HDMI-CEC doit être activé. La Le paramètre ARC ne peut être activé que si HDMI-CEC est activé. Paramètre ARC est grisé et désactivé si HDMI-CEC est désactivé, comme illustré dans la figure 2. Dans suivant le flux d'interface utilisateur, lorsque l'utilisateur désactive le paramètre Activer HDMI-CEC dans l'écran Affichage et Menu "Son" et sélectionne Enceinte de la maison, le paramètre ARC est désactivé. L'utilisateur peut activer le paramètre Lire l'audio de la télévision en en activant l'option Activer HDMI-CEC.

fitbit_ui_disable_arc

Figure 2. UI de 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 ou désactiver DSM. Pour activer DSM, l'utilisateur suit l'interface utilisateur. comme indiqué dans la figure 3. Dans le flux d'interface utilisateur suivant, pour activer le mode barre de son, l'utilisateur sélectionne Enceinte de la maison, puis sélectionne et confirme le paramètre ARC. Pour activer ou désactiver DSM, l'utilisateur désactive le paramètre ARC.

fitbit_ui_enable_arc

Figure 3. UI permettant d'activer DSM

Validation

Les OEM peuvent effectuer un test audio pour s'assurer que les haut-parleurs de l'appareil de lecture diffuser le son provenant du téléviseur ou d'autres appareils connectés à celui-ci ; panneau.

Validation manuelle

Utilisez les scénarios suivants pour valider manuellement le comportement attendu:

  • Le paramètre ARC est activé: <ph type="x-smartling-placeholder">
      </ph>
    • Le son du téléviseur est coupé.
    • Le son du téléviseur est acheminé vers les haut-parleurs de l'appareil.
  • Le paramètre ARC est désactivé: <ph type="x-smartling-placeholder">
      </ph>
    • Le téléviseur arrête de router l'audio vers l'appareil.
    • La lecture du contenu audio commence sur le téléviseur.
  • Le paramètre ARC est activé et l'appareil est connecté à un réseau autre qu'ARC vers le téléviseur: <ph type="x-smartling-placeholder">
      </ph>
    • 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 une autre avant de le connecter: <ph type="x-smartling-placeholder">
      </ph>
    • L'appareil se comporte comme un appareil de lecture standard, 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: <ph type="x-smartling-placeholder">
      </ph>
    • 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 sur un port non-ARC, et un autre système audio est connecté au Port ARC: <ph type="x-smartling-placeholder">
      </ph>
    • La connexion ARC n'est pas établie avec le téléviseur pour le deuxième contenu audio. car il utilise une adresse logique non enregistrée.
  • Le paramètre ARC est activé et l'appareil est branché à chaud: <ph type="x-smartling-placeholder">
      </ph>
    • L'appareil fonctionne comme lorsque le paramètre était activé.

Validation CTS

CtsHdmiCecHostTestCases doit être transmis lorsque le paramètre de la barre de son est désactivé. HdmiCecSoundbarModeTest.java dans la suite de tests CtsHdmiCecHostTestCases, teste les fonctionnalités DSM.

Bien qu'il ne s'agisse pas d'une exigence de certification, exécutez CtsHdmiCecHostTestCases avec le paramètre de la barre de son activé pour valider votre implémentation.

Voir Tests CTS CTS pour les appareils Android TV. pour exécuter les tests Android CTS pour HDMI CEC.