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