Commandes des appareils auditifs
Les commandes des wearables dans l'Association express visent à fournir de meilleurs contrôles d'accès aux fonctionnalités importantes des wearables 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 appareils auditifs | 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, 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 | Expéditeur | Personne interrogée | 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 ANC), le fournisseur peut notifier l'état ANC pour informer le demandeur de sa capacité ANC et de son état enregistré. Le message est le suivant :
Byte | Type de données | Description | Valeur |
---|---|---|---|
0 | uint8 | Contrôle des appareils auditifs | 0x08 |
1 | uint8 | État de la suppression active du bruit | 0x13 |
2 - 3 | uint16 | Longueur de données supplémentaires | 0x04 |
4 - 7 | Données de contrôle ANC | Variable |
Données de contrôle ANC
Byte | 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 |
Variable |
2 | Drapeaux | Boutons à bascule définissables Vous pouvez également définir ici tout ou partie des bits de bouton à bascule de l'UI ci-dessus pour indiquer ceux qui sont actuellement activés. |
Variable |
3 | Drapeaux | État actuel Un seul bit peut être défini et la valeur de ce byte ne doit pas être nulle. |
Variable |
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 modes : transparence, désactivé et 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é" :
Byte | Type de données | Description | Valeur |
---|---|---|---|
0 | uint8 | Code de la version | 0x01 |
1 | Drapeaux | Boutons d'activation de l'UI | 0b10101000 |
2 | Drapeaux | Boutons à bascule configurables | 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 sur la tête ou aucun écouteur n'est sur la tête. Aucun mode n'est donc définissable et l'état actuel est "désactivé" :
Byte | Type de données | Description | Valeur |
---|---|---|---|
0 | uint8 | Code de la version | 0x01 |
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 :
Byte | Type de données | Description | Valeur |
---|---|---|---|
0 | uint8 | Contrôle des appareils auditifs | 0x08 |
1 | uint8 | Définir l'état de l'ANC | 0x12 |
2 - 3 | uint16 | Longueur de 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 (bouton bascule dans l'UI) | Variable |
6 | Drapeaux | Modes avec ANC activé (paramètre à activer/désactiver) | Variable |
7 | Drapeaux | Nouvel index du mode ANC (nouvel état) | Variable |
8 - 23 | Réservé | Variable |
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 dans l'application associée, le Fournisseur doit également envoyer une notification à tous les Chercheurs connectés.
Exemple 3 : Le fournisseur est compatible avec la suppression active du bruit à quatre modes (transparence, adaptatif, désactivé et suppression active du bruit). Les écouteurs sont portés, tous les modes peuvent être définis et l'état actuel est "adaptatif" :
Byte | Type de données | Description | Valeur |
---|---|---|---|
0 | uint8 | Code de la version | 0x01 |
1 | Drapeaux | Bouton bascule de l'UI | 0b11101000 |
2 | Drapeaux | Bouton bascule configurable | 0b11101000 |
3 | Drapeaux | État actuel | 0b01000000 |