Commandes des écouteurs
Les commandes pour les appareils auditifs dans Association express visent à fournir de meilleurs contrôles d'accès aux fonctionnalités importantes des appareils auditifs sur Android. Pour ce faire, un nouveau groupe de messages Hearable controls a été ajouté à Message Stream.
| Nom du groupe de messages | Valeur |
|---|---|
| Contrôle des écouteurs | 0x08 |
Contrôle actif du bruit
Le contrôle actif du bruit est en train de devenir une fonctionnalité phare des casques haut de gamme. Du côté du demandeur, l'Association express disposera de l'UI et de la logique permettant de définir, d'obtenir et d'enregistrer l'état, qui sera stocké du côté du fournisseur. Le fournisseur doit obligatoirement envoyer Session Nonce lorsque le flux d'événements est connecté. Pour ce faire, les codes de message ci-dessous sont définis :
| Nom de code du message | Valeur | Sender | Répondant | Mac | CONFIRMATION |
|---|---|---|---|---|---|
| Obtenir l'état de l'ANC | 0x11 | Seeker | Fournisseur | N | N |
| Définir l'état de l'ANC | 0x12 | Seeker | Fournisseur | O | O |
| État de la suppression active du bruit | 0x13 | Fournisseur | Seeker | N | N |
Lorsqu'un demandeur se connecte à un fournisseur ou lorsqu'un fournisseur reçoit un message "Get ANC state" (Obtenir l'état de l'ANC), le fournisseur peut notifier l'état de l'ANC pour informer le demandeur de sa capacité ANC et de son état stocké. Le message est le suivant :
| Octet | Type de données | Description | Valeur |
|---|---|---|---|
| 0 | uint8 | Contrôle des écouteurs | 0x08 |
| 1 | uint8 | État de la suppression active du bruit | 0x13 |
| 2 - 3 | uint16 | Longueur des données supplémentaires | 0x04 |
| 4 - 7 | Données de contrôle ANC | varies |
Données de contrôle ANC
| Octet | Type de données | Description | Valeur |
|---|---|---|---|
| 0 | uint8 | Code de la version | varies, 0x02 for this version |
| 1 | Drapeaux | Boutons d'activation/de désactivation de l'UI Chaque mode est activé (1) ou désactivé (0) en fonction de la valeur de son bit de signalisation, comme suit : Bit 0 (MSB) : transparent Bit 1 : adaptatif (ou 0 s'il n'est pas pris en charge) Bit 2 : désactivé Bit 3 : réservé (définir le bit sur 0) Bit 4 : ANC |
varies |
| 2 | Drapeaux | Bascules définissables Vous pouvez également définir ici tout ou partie des bits de bascule de l'UI ci-dessus pour indiquer ceux qui sont actuellement activés. |
varies |
| 3 | Drapeaux | État actuel Un seul bit peut être défini et la valeur de ce byte ne doit pas être nulle. |
varies |
Le Seeker affichera l'UI d'activation/désactivation en fonction des données de contrôle de l'ANC.
Exemple 1 : Le fournisseur est compatible avec la suppression active du bruit à trois voies : transparence – désactivé – suppression active du bruit. Les écouteurs sont sur la tête, tous les modes sont désormais configurables et l'état actuel est "désactivé" :
| Octet | Type de données | Description | Valeur |
|---|---|---|---|
| 0 | uint8 | Code de la version | 0x02 |
| 1 | Drapeaux | bascules d'interface utilisateur | 0b10101000 |
| 2 | Drapeaux | Boutons bascule définissables | 0b10101000 |
| 3 | Drapeaux | État actuel | 0b00100000 |
Exemple 2 : Le fournisseur accepte la suppression active du bruit à trois voies (transparence > désactivée > suppression active du bruit). Un seul écouteur est actuellement porté ou aucun écouteur n'est porté. Aucun mode n'est donc définissable et l'état actuel est "désactivé" :
| Octet | Type de données | Description | Valeur |
|---|---|---|---|
| 0 | uint8 | Code de la version | 0x02 |
| 1 | Drapeaux | Bouton bascule de l'UI | 0b10101000 |
| 2 | Drapeaux | Bouton bascule configurable | 0b00000000 |
| 3 | Drapeaux | État actuel | 0b00100000 |
Si l'utilisateur active le bouton bascule, le demandeur définit l'état actuel sur le fournisseur comme suit :
| Octet | Type de données | Description | Valeur |
|---|---|---|---|
| 0 | uint8 | Contrôle des écouteurs | 0x08 |
| 1 | uint8 | Définir l'état de l'ANC | 0x12 |
| 2 - 3 | uint16 | Longueur des données supplémentaires | varies, 0x04 ou 0x14 |
| 4 | uint8 | Code de version Seeker | varies, 0x01 ou 0x02 |
| 5 | Drapeaux | Modes de suppression active du bruit (bascule dans l'UI) | varies |
| 6 | Drapeaux | Modes avec suppression active du bruit activée (paramètre à activer/désactiver) | varies |
| 7 | Drapeaux | Nouvel index du mode ANC (nouvel état) | varies |
| 8 - 23 | Réservé | varies |
Les octets 4 à 7 sont en fait des données de contrôle ANC envoyées depuis le côté Seeker. Si la valeur de longueur supplémentaire est définie sur 0x14, les octets réservés 8 à 23 sont présents. Le fournisseur doit les ignorer à la réception. Si la valeur de longueur supplémentaire est définie sur 0x04, aucun octet réservé n'est présent.
Lorsqu'un fournisseur reçoit un message "Set ANC state" (Définir l'état ANC), il doit accuser réception et notifier l'état ANC à tous les demandeurs connectés. Si l'utilisateur modifie le paramètre à l'aide d'un geste sur le casque ou d'une application associée, le Fournisseur doit également envoyer une notification à tous les Chercheurs connectés.
Exemple 3 : Le fournisseur prend en charge la suppression active du bruit à quatre voies : transparence > adaptatif > désactivé > suppression active du bruit. Les écouteurs sont sur la tête, tous les modes sont désormais configurables et l'état actuel est "adaptatif" :
| Octet | Type de données | Description | Valeur |
|---|---|---|---|
| 0 | uint8 | Code de la version | 0x02 |
| 1 | Drapeaux | Bouton bascule de l'UI | 0b11101000 |
| 2 | Drapeaux | Bouton bascule configurable | 0b11101000 |
| 3 | Drapeaux | État actuel | 0b01000000 |