Przyciski sterowania urządzeniem do słuchania
Przyciski sterowania urządzeniem do słuchania w Szybkim parowaniu mają na celu zapewnienie lepszej kontroli dostępu do ważnych funkcji urządzenia do słuchania na Androidzie. W tym celu dodaliśmy nową grupę wiadomości Przyciski sterowania urządzeniem do słuchania w strumieniu wiadomości.
| Nazwa grupy wiadomości | Wartość |
|---|---|
| Przyciski sterowania urządzeniem do słuchania | 0x08 |
Aktywna kontrola szumów
Aktywna kontrola szumów staje się ważną funkcją słuchawek premium. Po stronie wyszukującego Szybkie parowanie będzie mieć interfejs i logikę do ustawiania, pobierania i zapisywania stanu, a stan będzie przechowywany po stronie dostawcy. Gdy strumień zdarzeń jest połączony, dostawca musi wysłać nonce sesji. Aby to osiągnąć, zdefiniowano te kody wiadomości:
| Nazwa kodu wiadomości | Wartość | Przesyłający | Użytkownik | MAC | ACK |
|---|---|---|---|---|---|
| Pobieranie stanu ANC | 0x11 | Wyszukujący | Dostawca | N | N |
| Ustawianie stanu ANC | 0x12 | Wyszukujący | Dostawca | y | y |
| Powiadamianie o stanie ANC | 0x13 | Dostawca | Wyszukujący | N | N |
Gdy wyszukujący łączy się z dostawcą lub gdy dostawca otrzymuje wiadomość „Pobieranie stanu ANC”, może powiadomić o stanie ANC, aby poinformować wyszukującego o możliwościach ANC i zapisanym stanie. Wiadomość wygląda tak:
| Byte | Typ danych | Opis | Wartość |
|---|---|---|---|
| 0 | uint8 | Przyciski sterowania urządzeniem do słuchania | 0x08 |
| 1 | uint8 | Powiadamianie o stanie ANC | 0x13 |
| 2–3 | uint16 | Długość dodatkowych danych | 0x04 |
| 4–7 | Dane sterowania ANC | różne |
Dane sterowania ANC
| Byte | Typ danych | Opis | Wartość |
|---|---|---|---|
| 0 | uint8 | Kod wersji | różne, 0x02 w tej wersji |
| 1 | Flagi | Przełączniki interfejsu Każdy tryb jest włączony (1) lub wyłączony (0) zgodnie z wartością bitu flagi, w następujący sposób: Bit 0 (MSB): przezroczysty Bit 1: adaptacyjny (lub 0, jeśli nie jest obsługiwany) Bit 2: wyłączony Bit 3: zarezerwowany (ustaw bit na 0) Bit 4: ANC |
różne |
| 2 | Flagi | Przełączniki, które można ustawić Tutaj można też ustawić dowolne lub wszystkie bity przełącznika interfejsu, aby wskazać, które są obecnie włączone. |
różne |
| 3 | Flagi | Bieżący stan Można ustawić tylko 1 bit, a wartość tego bajtu musi być różna od zera. |
różne |
Wyszukujący wyświetli interfejs przełącznika zgodnie z danymi sterowania ANC.
Przykład 1. Dostawca obsługuje 3-kierunkową aktywną kontrolę szumów: przezroczystą, wyłączoną i ANC. Słuchawki są na głowie, wszystkie tryby można teraz ustawić, a bieżący stan to wyłączony:
| Byte | Typ danych | Opis | Wartość |
|---|---|---|---|
| 0 | uint8 | Kod wersji | 0x02 |
| 1 | Flagi | Przełączniki interfejsu | 0b10101000 |
| 2 | Flagi | Przełączniki, które można ustawić | 0b10101000 |
| 3 | Flagi | Bieżący stan | 0b00100000 |
Przykład 2. Dostawca obsługuje 3-kierunkową aktywną kontrolę szumów: przezroczystą, wyłączoną i ANC. Tylko 1 słuchawka jest na głowie lub żadna słuchawka nie jest na głowie, więc nie można ustawić żadnego trybu, a bieżący stan to wyłączony:
| Byte | Typ danych | Opis | Wartość |
|---|---|---|---|
| 0 | uint8 | Kod wersji | 0x02 |
| 1 | Flagi | Przełącznik interfejsu | 0b10101000 |
| 2 | Flagi | Przełącznik, który można ustawić | 0b00000000 |
| 3 | Flagi | Bieżący stan | 0b00100000 |
Jeśli użytkownik przełączy przełącznik, wyszukujący ustawi bieżący stan na dostawcę w następujący sposób:
| Byte | Typ danych | Opis | Wartość |
|---|---|---|---|
| 0 | uint8 | Przyciski sterowania urządzeniem do słuchania | 0x08 |
| 1 | uint8 | Ustawianie stanu ANC | 0x12 |
| 2–3 | uint16 | Długość dodatkowych danych | różne, 0x04 lub 0x14 |
| 4 | uint8 | Kod wersji wyszukującego | _różne, 0x01 lub 0x02 |
| 5 | Flagi | Tryby ANC, które można ustawić (przełącznik interfejsu) | różne |
| 6 | Flagi | Włączone tryby ANC (przełącznik, który można ustawić) | różne |
| 7 | Flagi | Indeks nowego trybu ANC (nowy stan) | różne |
| 8–23 | Zarezerwowane | różne |
Bajty 4–7 to dane sterowania ANC wysyłane przez wyszukującego. Jeśli wartość dodatkowej długości jest ustawiona na 0x14, będą obecne zarezerwowane bajty 8–23, a dostawca powinien je zignorować. Jeśli wartość dodatkowej długości jest ustawiona na 0x04, nie ma zarezerwowanych bajtów.
Gdy dostawca otrzyma wiadomość „Ustawianie stanu ANC”, powinien potwierdzić, i powiadomić o stanie ANC wszystkich połączonych wyszukujących. Jeśli użytkownik zmieni ustawienie za pomocą gestu na słuchawkach lub aplikacji towarzyszącej, dostawca powinien też wysłać powiadomienie do wszystkich połączonych wyszukujących.
Przykład 3. Dostawca obsługuje 4-kierunkową aktywną kontrolę szumów: przezroczystą, adaptacyjną, wyłączoną i ANC. Słuchawki są na głowie, wszystkie tryby można teraz ustawić, a bieżący stan to adaptacyjny:
| Byte | Typ danych | Opis | Wartość |
|---|---|---|---|
| 0 | uint8 | Kod wersji | 0x02 |
| 1 | Flagi | Przełącznik interfejsu | 0b11101000 |
| 2 | Flagi | Przełącznik, który można ustawić | 0b11101000 |
| 3 | Flagi | Bieżący stan | 0b01000000 |