Wersja: 1.3
Ostatnia aktualizacja: 6 września 2024 r.
Legend
| Czasownik produktu | Działanie rozwojowe |
|---|---|
| "MUST" | Obowiązkowe wymagania dotyczące produktu |
| "SHOULD" | Opcjonalna rekomendacja |
| "MAY" | Przydatne |
Przegląd
Ten dokument opisuje wymagania, które spełnia głośnik z mikrofonem USB+Bluetooth zgodny z ChromeOS. Ta specyfikacja nie dotyczy produktów WWCB ani produktów zaprojektowanych i certyfikowanych razem z Chromebookiem.
USB
Bezpieczeństwo
Bezprzewodowy klucz sprzętowy 2,4 GHz
- Urządzenie bezprzewodowe 2,4 GHz automatycznie paruje się tylko z odbiornikiem (donglem) dołączonym do opakowania.
- Aby sparować zestaw słuchawkowy z innym odbiornikiem lub nowy zestaw słuchawkowy z dotychczasowym odbiornikiem, użytkownik musi wykonać działanie (na urządzeniu lub w aplikacji).
- Jeśli aplikacja ma zmieniać parowanie słuchawek lub odbiornika, musi działać w ChromeOS, np. za pomocą rozszerzenia. Aplikacja może być też aplikacją internetową korzystającą z WebUSB/WebHID.
- Jeśli parowanie jest realizowane za pomocą rozszerzenia, musi ono mieć wyłącznie dostęp do portów USB. Skrypty treści są wyraźnie niedozwolone.
Oprogramowanie układowe i złącze
- Zestaw słuchawkowy musi być zadeklarowany jako urządzenie audio z prawidłowym deskryptorem interfejsu audio (0x01).
- Zarówno wejściowy, jak i wyjściowy terminal musi mieć odpowiedni deskryptor.
- Zalecamy zgłaszanie typu terminala USB Audio Class (UAC).
- Zestaw słuchawkowy (0x0402)
- SpeakerPhone (0x0403-0x0405) .
- Zalecamy zgłaszanie typu terminala USB Audio Class (UAC).
- Zarówno wejściowy, jak i wyjściowy terminal musi mieć odpowiedni deskryptor.
- Jeśli ma przycisk, musi być zadeklarowany jako urządzenie HID.
- Zestaw słuchawkowy musi spełniać wymagania dotyczące oprogramowania sprzętowego i złącza WWCB.
Oprogramowanie
Format
Więcej informacji znajdziesz w sekcji Format audio.
W przypadku urządzenia, które ma deskryptor interfejsu audio zarówno wejścia, jak i wyjścia.
Przykład deskryptora interfejsu audio
Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0
Jeśli częstotliwości próbkowania wejścia i wyjścia są różne, urządzenie musi obsługiwać odtwarzanie i nagrywanie z różnymi częstotliwościami próbkowania w tym samym czasie.
W przeciwnym razie urządzenie musi odzwierciedlać tę samą wartość w polu AudioStreaming
Interface Descriptor -> tSamFreq.
Przykład częstotliwości próbkowania wyjścia audio USB 48 kHz
AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT(Output) bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type DataPrzykład częstotliwości próbkowania wejścia audio USB 44,1 kHz
AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 44100 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x81 EP 1 In(Input) bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data
Kody HID
- W przypadku każdego zdarzenia HID może ono przesyłać tylko jedno zdarzenie naraz.
- Po naciśnięciu przycisku powinien zostać odebrany prawidłowy kod zdarzenia i odpowiadający mu kod zdarzenia.
- Na przykład zwiększ głośność.
evtest
może obserwować tylko 1 zdarzenie zwiększenia głośności, a kod musi być następujący:
KEY_VOLUME_UP
- Na przykład zwiększ głośność.
evtest
może obserwować tylko 1 zdarzenie zwiększenia głośności, a kod musi być następujący:
- Jeśli istnieje interfejs zaprojektowany do udostępniania tych funkcji, urządzenie peryferyjne USB musi obsługiwać wysyłanie lub odbieranie odpowiednich zdarzeń HID zgodnie ze specyfikacją HID USB.org.
Strona konsumencka (0x0c)
| Nazwa klucza | Identyfikator wykorzystania HID | Typ wykorzystania |
|---|---|---|
KEY_PLAY |
0x0b0 |
OOC |
KEY_PAUSE |
0x0b1 |
OOC |
KEY_NEXTSONG |
0x0b5 |
OSC |
KEY_PREVIOUSSONG |
0x0b6 |
OSC |
KEY_STOPCD |
0x0b7 |
OSC |
KEY_PLAYPAUSE |
0x0cd |
OSC |
KEY_PREVIOUSSONG |
0x0b6 |
OSC |
KEY_MUTE |
0x0e2 |
OOC |
KEY_VOLUMEUP |
0x0e9 |
RTC |
KEY_VOLUMEDOWN |
0x0ea |
RTC |
Strona połączeń telefonicznych (0x0b)
| Nazwa klucza | Identyfikator wykorzystania HID | Typ wykorzystania |
|---|---|---|
| Przełącznik widełkowy | 0x20 |
OOC |
| Dzwonek | 0x9e |
OOC |
Strona LED (0x08)
| Nazwa klucza | Identyfikator wykorzystania HID | Typ wykorzystania |
|---|---|---|
| Wycisz | 0x09 |
OOC |
| Poza słuchawką | 0x17 |
OOC |
| Dzwonek | 0x18 |
OOC |
Wykrywanie gniazda słuchawek
Jeśli urządzenie USB nie obsługuje klasy audio USB (UAC), zawsze będzie wyświetlać węzeł wyjściowy w obszarze powiadomień ChromeOS. Jeśli jednak urządzenie USB obsługuje UAC, system będzie w stanie prawidłowo wykryć gniazdo audio 3, 5 mm po włożeniu urządzenia.
- CrOS musi używać wykrywania obecności w przypadku gniazd 3,5 mm
Ogólne wymagania dotyczące Bluetootha
Zapoznaj się z dokumentem ChromeOS Compatible - Bluetooth Specification (Zgodność z ChromeOS – specyfikacja Bluetooth).
Format dźwięku
| Odtwarzanie | Nagrywanie | |
|---|---|---|
| Częstotliwość próbkowania | ≥ 16 kHz | ≥ 16 kHz |
| Format | S16_LE | S16_LE |
- Numer kanału i konfiguracja muszą być prawidłowe.
- Wszystkie deklarowane przez słuchawki obsługiwane częstotliwości próbkowania muszą działać prawidłowo.
- Odchylenie między zmierzoną a częstotliwością próbkowania musi być mniejsze lub równe 0,1% .
- Błąd standardowy regresji liniowej zmierzonego współczynnika musi być <30.
Zestaw słuchawkowy musi obsługiwać odtwarzanie lub nagrywanie przy różnych częstotliwościach próbkowania, które deklaruje.
Możesz na przykład odtwarzać dźwięk poniżej 44, 1 kHz i jednocześnie nagrywać głos poniżej 48 kHz.
- W przeciwnym razie ChromeOS musi dodać specjalny plik konfiguracyjny, aby zapobiec temu po stronie systemu.
Jakość dźwięku
Ścieżka przechwytywania – wyciszenie
- Jeśli istnieje interfejs umożliwiający wyciszenie urządzenia audio, musi on:
- Zachowaj stan wyciszenia w sposób, na który nie mają wpływu:
- otwieranie i zamykanie urządzenia;
- przełączenie na inne urządzenie wejściowe;
Opóźnienie dźwięku
Czas oczekiwania
- Opóźnienie wyjściowe
- Odtwarzanie dźwięku musi się rozpocząć w ciągu 500 ms od działania użytkownika, które inicjuje odtwarzanie.
- Może poprosić o zwolnienie z tego wymogu, jeśli producent OEM urządzenia udowodni, że w przypadku niespełnienia tego wymogu nie występuje echo.
- Odtwarzanie dźwięku musi się rozpocząć w ciągu 500 ms od działania użytkownika, które inicjuje odtwarzanie.
Synchronizacja A/V
- Odtwarzanie dźwięku powinno być zsynchronizowane z odtwarzaniem filmu. Odtwarzanie dźwięku może wyprzedzać obraz wideo o ≤25 ms lub być opóźnione o ≤95 ms.
Historia zmian
| Data | Wersja | Uwagi |
|---|---|---|
| 2024-09-06 | 1.3 | Specyfikacja zgodna z ChromeOS. Pierwsza publikacja witryny partnera. |
| 2022-09-14 | 1,2 | Zaktualizowano do wersji 1.2. |
| 2022-08-19 | 1.1 | Zaktualizowano do wersji 1.1. |
| 2022-08-18 | 1,0 | Utworzono powiązaną specyfikację WWCB. |