Steuerung von Hearables

Die Hearable-Steuerung über Schnelles Pairing soll eine bessere Zugriffssteuerung für wichtige Hearable-Funktionen auf Android-Geräten ermöglichen. Dazu wurde in Message Stream eine neue Nachrichtengruppe „Hearable-Steuerelemente“ 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 Seeker-Seite enthält „Schnelles Pairing“ die Benutzeroberfläche und Logik zum Festlegen, Abrufen und Speichern des Status. Der Status wird auf der Provider-Seite 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 Sucher Anbieter N N
ANC-Status festlegen 0x12 Sucher Anbieter J J
ANC-Status benachrichtigen 0x13 Anbieter Sucher 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 dem Seeker seine ANC-Funktion und seinen gespeicherten Status mitzuteilen. 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 variiert
ANC-Steuerungsdaten
Byte Datentyp Beschreibung Wert
0 uint8 Versionscode variiert, 0x02 für diese Version
1 Flags UI-Schalter
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
variiert
2 Flags Einstellbare Ein/Aus-Schalter
Alle oder einige der oben genannten Ein/Aus-Schalter für die Benutzeroberfläche können auch hier festgelegt werden, um anzugeben, welche derzeit aktiviert sind.
variiert
3 Flags Aktueller Status
Es kann nur ein Bit festgelegt werden und der Wert dieses Byte darf nicht null sein.
variiert

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 0x02
1 Flags UI-Schaltflächen 0b10101000
2 Flags Ein/Aus-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 festgelegt werden und der aktuelle Status ist „Aus“:

Byte Datentyp Beschreibung Wert
0 uint8 Versionscode 0x02
1 Flags UI-Ein/Aus-Schalter 0b10101000
2 Flags Ein/Aus-Button für Einstellungen 0b00000000
3 Flags Aktueller Status 0b00100000

Wenn der Nutzer den Schalter umlegt, legt der Seeker den aktuellen Status für den Provider 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) variiert
6 Flags Modi mit aktivierter ANC (einstellbarer Schalter) variiert
7 Flags Neuer ANC-Modusindex (neuer Status) variiert
8–23 Reserviert variiert

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 festgelegt ist, sind keine reservierten Byte vorhanden.

Wenn ein Anbieter eine Nachricht vom Typ „Set ANC state“ 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 können jetzt eingestellt werden und der aktuelle Status ist „adaptiv“:

Byte Datentyp Beschreibung Wert
0 uint8 Versionscode 0x02
1 Flags UI-Ein/Aus-Schalter 0b11101000
2 Flags Ein/Aus-Button für Einstellungen 0b11101000
3 Flags Aktueller Status 0b01000000