Steuerung von Hearables

Die Hearable-Steuerung über Fast Pair soll eine bessere Zugriffssteuerung für wichtige Hearable-Funktionen auf Android-Geräten ermöglichen. Dazu wurde eine neue Nachrichtengruppe „Hearable-Steuerelemente“ in Nachrichtenstream hinzugefügt.

Name der Nachrichtengruppe Wert
Steuerung von Hearables 0x08

Einstellungen für die aktive Geräuschunterdrückung

Die aktive Geräuschunterdrückung wird zu einer wichtigen Funktion für Premium-Kopfhörer. Auf der Seite des Suchers enthält „Schnelles Pairing“ die Benutzeroberfläche und die Logik zum Festlegen, Abrufen und Speichern des Status. Der Status wird auf der Seite des Anbieters gespeichert. Der Anbieter muss die Session Nonce senden, wenn der Ereignisstream verbunden ist. Dazu sind die folgenden Nachrichtencodes definiert:

Codename der Nachricht Wert Sender Teilnehmer MAC ACK
ANC-Status abrufen 0x11 Suchender Anbieter N N
ANC-Status festlegen 0x12 Suchender Anbieter J J
ANC-Status benachrichtigen 0x13 Anbieter Suchender N N

Wenn sich ein Seeker mit einem Provider verbindet oder ein Provider eine „Get ANC state“-Nachricht empfängt, kann der Provider den ANC-Status benachrichtigen, um den Seeker über seine ANC-Funktion und seinen gespeicherten Status zu informieren. Die Meldung lautet:

Byte Datentyp Beschreibung Wert
0 uint8 Steuerung von Hearables 0x08
1 uint8 ANC-Status benachrichtigen 0x13
2–3 uint16 Zusätzliche Datenlänge 0x04
4–7 ANC-Steuerungsdaten Variabel
ANC-Steuerungsdaten
Byte Datentyp Beschreibung Wert
0 uint8 Versionscode variiert, 0x02 für diese Version
1 Flags UI-Schaltflächen
Jeder Modus ist entsprechend dem Wert seines Flag-Bits aktiviert (1) oder deaktiviert (0):
Bit 0 (MSB): transparent
Bit 1: adaptiv (oder 0, wenn nicht unterstützt)
Bit 2: aus
Bit 3: reserviert (Bit auf 0 setzen)
Bit 4: ANC
Variabel
2 Flags Einrichtbare Ein/Aus-Schalter
Hier können auch alle oder einige der oben genannten UI-Ein/Aus-Schalterbits festgelegt werden, um anzugeben, welche derzeit aktiviert sind.
Variabel
3 Flags Aktueller Status
Es kann nur ein Bit festgelegt werden und der Wert dieses Byte darf nicht null sein.
Variabel

Der Seeker zeigt die Benutzeroberfläche für das Ein-/Ausschalten entsprechend den ANC-Steuerungsdaten an.

Beispiel 1: Der Anbieter unterstützt die 3-Wege-ANC: transparent – aus – ANC. Die Kopfhörer werden getragen, alle Modi sind jetzt einstellbar und der aktuelle Status ist „Aus“:

Byte Datentyp Beschreibung Wert
0 uint8 Versionscode 0x01
1 Flags UI-Ein/Aus-Schaltflächen 0b10101000
2 Flags Einstellbare Schalter 0b10101000
3 Flags Aktueller Status 0b00100000

Beispiel 2: Der Anbieter unterstützt die 3-Wege-ANC: transparent – aus – ANC. Nur ein Kopfhörer wird getragen oder es werden keine Kopfhörer getragen. Daher können keine Modi eingestellt werden und der aktuelle Status ist „Aus“:

Byte Datentyp Beschreibung Wert
0 uint8 Versionscode 0x01
1 Flags UI-Ein/Aus-Schalter 0b10101000
2 Flags Ein/Aus-Schaltfläche 0b00000000
3 Flags Aktueller Status 0b00100000

Wenn der Nutzer den Schalter umlegt, legt der Seeker den aktuellen Status für den Anbieter wie folgt fest:

Byte Datentyp Beschreibung Wert
0 uint8 Steuerung von Hearables 0x08
1 uint8 ANC-Status festlegen 0x12
2–3 uint16 Zusätzliche Datenlänge variiert, 0x04 oder 0x14
4 uint8 Seeker-Versionscode variiert, 0x01 oder 0x02
5 Flags Einstellbare ANC-Modi (UI-Schaltfläche) Variabel
6 Flags Modi mit aktivierter ANC (einstellbarer Schalter) Variabel
7 Flags Neuer ANC-Modusindex (neuer Status) Variabel
8–23 Reserviert Variabel

Die Bytes 4 bis 7 sind ANC-Steuerungsdaten, die vom Seeker gesendet werden. Wenn der zusätzliche Längenwert auf 0x14 gesetzt ist, sind die reservierten Bytes 8–23 vorhanden. Der Anbieter sollte sie ignorieren, wenn er sie empfängt. Wenn der zusätzliche Längenwert auf 0x04 gesetzt ist, sind keine reservierten Byte vorhanden.

Wenn ein Anbieter eine Nachricht vom Typ „Set ANC state“ (ANC-Status festlegen) erhält, sollte er den Empfang bestätigen und alle verbundenen Seekers über den ANC-Status informieren. Wenn der Nutzer die Einstellung über eine Headset-Geste oder eine Companion-App ändert, sollte der Anbieter auch eine Benachrichtigung an alle verbundenen Sucher senden.

Beispiel 3: Der Anbieter unterstützt die 4-Wege-ANC: transparent – adaptiv – aus – ANC. Die Kopfhörer sind auf dem Kopf, alle Modi sind jetzt einstellbar und der aktuelle Status ist „adaptiv“:

Byte Datentyp Beschreibung Wert
0 uint8 Versionscode 0x01
1 Flags UI-Ein/Aus-Schalter 0b11101000
2 Flags Ein/Aus-Schaltfläche 0b11101000
3 Flags Aktueller Status 0b01000000