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 |