Sterowanie słuchawkami
Elementy sterujące słuchawkami w szybkim parowaniu mają na celu zapewnienie lepszego dostępu do ważnych funkcji słuchawek na urządzeniach z Androidem. W tym celu dodaliśmy nową grupę wiadomości Hearable controls w sekcji Message Stream.
Nazwa grupy wiadomości | Wartość |
---|---|
Sterowanie słuchawkami | 0x08 |
Aktywna kontrola szumów
Aktywna kontrola szumów staje się ważną funkcją słuchawek klasy premium. Po stronie urządzenia wyszukującego Szybkie parowanie będzie mieć interfejs i logikę do ustawiania, pobierania i zapisywania stanu, a stan będzie przechowywany po stronie urządzenia udostępniającego. Gdy strumień zdarzeń jest połączony, dostawca musi wysłać Session Nonce. W tym celu zdefiniowano te kody wiadomości:
Nazwa kodu wiadomości | Wartość | Nadawca | Respondent | MAC | ACK |
---|---|---|---|---|---|
Pobieranie stanu ANC | 0x11 | Seeker | Dostawca | N | N |
Ustawianie stanu ANC | 0x12 | Seeker | Dostawca | T | T |
Powiadamianie o stanie ANC | 0x13 | Dostawca | Seeker | N | N |
Gdy wyszukujący połączy się z dostawcą lub gdy dostawca otrzyma wiadomość „Get ANC state”, może powiadomić wyszukującego o stanie ANC, aby poinformować go o swoich możliwościach w zakresie ANC i o zapisanym stanie. Wiadomość wygląda tak:
Bajt | Typ danych | Opis | Wartość |
---|---|---|---|
0 | uint8 | Sterowanie słuchawkami | 0x08 |
1 | uint8 | Powiadamianie o stanie ANC | 0x13 |
2–3 | uint16 | Długość dodatkowych danych | 0x04 |
4–7 | Dane sterujące ANC | różni się |
Dane sterowania ANC
Bajt | Typ danych | Opis | Wartość |
---|---|---|---|
0 | uint8 | Kod wersji | różni się, w tej wersji 0x02 |
1 | Flagi | Przełączniki interfejsu Każdy tryb jest włączony (1) lub wyłączony (0) zgodnie z wartością bitu flagi: 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óżni się |
2 | Flagi | Przełączniki, które można ustawić Tutaj można też ustawić dowolne lub wszystkie przełączniki interfejsu, aby wskazać, które z nich są obecnie włączone. |
różni się |
3 | Flagi | Bieżący stan Można ustawić tylko 1 bit, a wartość tego bajtu musi być różna od zera. |
różni się |
Wyszukiwarka wyświetli interfejs przełącznika zgodnie z danymi sterowania ANC.
Przykład 1. Dostawca obsługuje 3-stopniową aktywną redukcję szumów: dźwięki otoczenia – wyłączone – aktywna redukcja szumów. Słuchawki są na głowie, wszystkie tryby można teraz ustawić, a bieżący stan to wyłączone:
Bajt | Typ danych | Opis | Wartość |
---|---|---|---|
0 | uint8 | Kod wersji | 0x01 |
1 | Flagi | Przełączniki interfejsu | 0b10101000 |
2 | Flagi | Przełączniki z możliwością ustawienia | 0b10101000 |
3 | Flagi | Bieżący stan | 0b00100000 |
Przykład 2. Dostawca obsługuje 3-stopniową aktywną redukcję hałasu: tryb dźwięku otoczenia – wyłączony – aktywna redukcja hałasu. Tylko jedna 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:
Bajt | Typ danych | Opis | Wartość |
---|---|---|---|
0 | uint8 | Kod wersji | 0x01 |
1 | Flagi | Przełącznik interfejsu | 0b10101000 |
2 | Flagi | Przełącznik z możliwością ustawienia | 0b00000000 |
3 | Flagi | Bieżący stan | 0b00100000 |
Jeśli użytkownik przełączy przełącznik, usługa Seeker ustawi bieżący stan na dostawcę w następujący sposób:
Bajt | Typ danych | Opis | Wartość |
---|---|---|---|
0 | uint8 | Sterowanie słuchawkami | 0x08 |
1 | uint8 | Ustawianie stanu ANC | 0x12 |
2–3 | uint16 | Długość dodatkowych danych | różne, 0x04 lub 0x14 |
4 | uint8 | Kod wersji Seeker | różna, 0x01 lub 0x02 |
5 | Flagi | Tryby ANC z możliwością ustawienia (przełącznik w interfejsie) | różni się |
6 | Flagi | Tryby ANC (przełącznik) | różni się |
7 | Flagi | Nowy indeks trybu ANC (nowy stan) | różni się |
8–23 | Zarezerwowane | różni się |
Bajty 4–7 to w rzeczywistości dane sterujące ANC wysyłane przez urządzenie wyszukujące. Jeśli dodatkowa wartość długości jest ustawiona na 0x14, zarezerwowane bajty 8–23 będą obecne, a po ich otrzymaniu dostawca powinien je zignorować. Jeśli dodatkowa wartość długości jest ustawiona na 0x04, nie ma zarezerwowanych bajtów.
Gdy dostawca otrzyma wiadomość „Set ANC state”, powinien potwierdzić i powiadomić o stanie ANC wszystkie połączone urządzenia wyszukujące. Jeśli użytkownik zmieni ustawienie za pomocą gestu na słuchawkach lub aplikacji towarzyszącej, dostawca powinien również wysłać powiadomienie do wszystkich połączonych odbiorców.
Przykład 3. Dostawca obsługuje 4-kierunkową aktywną redukcję szumów: dźwięki otoczenia – adaptacyjna – wyłączona – aktywna redukcja szumów. Słuchawki są na głowie, wszystkie tryby można teraz ustawić, a bieżący stan to adaptacyjny:
Bajt | Typ danych | Opis | Wartość |
---|---|---|---|
0 | uint8 | Kod wersji | 0x01 |
1 | Flagi | Przełącznik interfejsu | 0b11101000 |
2 | Flagi | Przełącznik z możliwością ustawienia | 0b11101000 |
3 | Flagi | Bieżący stan | 0b01000000 |