Wersja: 1.2.1
Ostatnia aktualizacja: 21.06.2024
Legenda
| Czasownik produktu | Działanie programistyczne |
|---|---|
| „MUSI” | Obowiązkowe wymagania dotyczące produktu |
| „POWINNO” | Opcjonalna rekomendacja |
| „MAJ” | Przydatne |
Omówienie
W tym dokumencie opisano wymagania dotyczące mikrofonu USB zgodnego z ChromeOS. spotyka się. Ta specyfikacja nie dotyczy produktów WWCB ani produktów przeznaczonych i certyfikowany razem z Chromebookiem.
USB
Bezpieczeństwo
Bezprzewodowa wtyczka 2,4 GHz
- Urządzenie bezprzewodowe 2,4 GHz automatycznie paruje się tylko z odbiornikiem (kluczem sprzętowym), który jest dostarczany z pudełkiem.
- Do sparowania zestawu słuchawkowego wymagane jest działanie użytkownika (na urządzeniu lub w aplikacji) z innym odbiornikiem lub sparuj nowy zestaw słuchawkowy z istniejącym odbiornikiem.
- Jeśli do zmiany parowania zestawu słuchawkowego z odbiornikiem jest wymagana aplikacja, musi ona działać ChromeOS, np. za pomocą rozszerzenia. Może to być też aplikacja internetowa wykorzystująca WebUSB/WebHID.
- Jeśli parowanie jest implementowane za pomocą rozszerzenia, może ono być używane tylko i mają dostęp do portów USB. Skrypty treści są wyraźnie zabronione.
Oprogramowanie i oprogramowanie sprzęgające
- Zestaw słuchawkowy musi być zadeklarowany jako urządzenie audio z prawidłowym interfejsem audio
(0x01).
- Zarówno dane wejściowe, jak i wyjściowe muszą mieć jeden deskryptor
złącze.
- Zaleca się zgłaszanie typu złącza USB Audio Class (UAC)
- Zestaw słuchawkowy (0x0402) .
- SpeakerPhone (0x0403-0x0405) ,
- Zaleca się zgłaszanie typu złącza USB Audio Class (UAC)
- Zarówno dane wejściowe, jak i wyjściowe muszą mieć jeden deskryptor
złącze.
- Jeśli zawiera przycisk, musi być zadeklarowany jako HID.
- Zestaw słuchawkowy musi spełniać wymagania dotyczące oprogramowania układowego i złącza WWCB .
Oprogramowanie
Format
Zapoznaj się z sekcją Format dźwięku.
Urządzenie ma zarówno wejście, jak i wyjściowy deskryptor interfejsu audio.
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 na danych wejściowych i wyjściowych są różne, urządzenie musi
który obsługuje odtwarzanie i rejestrowanie
z różnymi częstotliwościami próbkowania.
W przeciwnym razie urządzenie musi odzwierciedlać tę samą wartość w parametrze AudioStreaming.
Opis interfejsu -> tSamFreq
Przykład częstotliwości próbkowania wyjściowego audio USB (48 kB)
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ściowego dźwięku przez USB (44,1 kB)
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 transmitować tylko 1 zdarzenie w danym momencie.
- Gdy otrzymasz poprawny kod zdarzenia i odpowiedni kod zdarzenia,
przycisk jest naciśnięty.
- Możesz na przykład zwiększyć głośność.
test evtest
może obserwować tylko jedno zdarzenie związane ze zwiększaniem głośności, a kod musi
KEY_VOLUME_UP
- Możesz na przykład zwiększyć głośność.
test evtest
może obserwować tylko jedno zdarzenie związane ze zwiększaniem głośności, a kod musi
- Jeśli istnieje interfejs zaprojektowany pod kątem udostępniania wymienionych poniżej funkcji, Urządzenie peryferyjne USB musi obsługiwać wysyłanie lub odbieranie odpowiednich sygnałów HID zdarzeń według urządzenia USB.org HID specyfikacji.
Strona klienta (0x0c)
| Nazwa klucza | Identyfikator użycia HID | Typ użycia |
|---|---|---|
KEY_PLAY |
0x0b0 |
OOC |
KEY_PAUSE |
0x0b1 |
OOC |
KEY_NEXTSONG |
0x0b5 |
kod OSC |
KEY_PREVIOUSSONG |
0x0b6 |
kod OSC |
KEY_STOPCD |
0x0b7 |
kod OSC |
KEY_PLAYPAUSE |
0x0cd |
kod OSC |
KEY_PREVIOUSSONG |
0x0b6 |
kod OSC |
KEY_MUTE |
0x0e2 |
OOC |
KEY_VOLUMEUP |
0x0e9 |
RTC |
KEY_VOLUMEDOWN |
0x0ea |
RTC |
Strona telefonii (0x0b)
| Nazwa klucza | Identyfikator użycia HID | Typ użycia |
|---|---|---|
| Haftka | 0x20 |
OOC |
| Dzwonek | 0x9e |
OOC |
Strona LED (0x08)
| Nazwa klucza | Identyfikator użycia HID | Typ użycia |
|---|---|---|
| Wycisz | 0x09 |
OOC |
| Bez mocowania | 0x17 |
OOC |
| Dzwonek | 0x18 |
OOC |
Wykrywanie gniazda
Jeśli urządzenie USB nie obsługuje standardu USB Audio Class (UAC), zawsze będzie wyświetlany komunikat węzła wyjściowego w obszarze powiadomień ChromeOS. Jeśli jednak urządzenie USB obsługuje jeśli w uniwersalnej kampanii promującej aplikację system poprawnie wykryje gniazdo słuchawek 3,5 mm, jest podłączone urządzenie.
- CrOS musi używać wykrywania obecności w przypadku złączy 3,5 mm
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ć poprawne.
- Wszystkie częstotliwości próbkowania deklarowane przez zestaw słuchawkowy muszą działać prawidłowo.
- Odchylenie między zmierzoną częstotliwością a częstotliwością próbkowania musi wynosić ≤ 0,1% .
- Błąd standardowy regresji liniowej mierzonej wartości musi wynosić < 30)
Zestaw słuchawkowy musi obsługiwać odtwarzanie lub nagrywanie przy różnych częstotliwościach próbkowania, obiecuje wsparcie.
Na przykład: odtwarzaj dźwięk poniżej 44,1 kHz, ale rejestruj głos poniżej 48 kHz jednocześnie.
- W przeciwnym razie ChromeOS musi dodać do po stronie systemu.
Jakość dźwięku
Ścieżka przechwytywania – wycisz
- Jeśli użytkownik ma interfejs do wyciszania urządzenia audio, musi
- Możesz zachować stan wyciszenia w taki sposób, aby nie miały one wpływu na:
- Otwieram i zamykasz urządzenie.
- Przełączam na inne urządzenie wejściowe.
Opóźnienie dźwięku
Czas oczekiwania
- Opóźnienie wyjścia
- Odtwarzanie dźwięku musi rozpoczynać się ≤ 500 ms po działaniu użytkownika, które
rozpocznie odtwarzanie.
- Może poprosić o zrzeczenie się praw, jeśli producent oryginalnego urządzenia będzie w stanie udowodnić, że echo nie jest w czasie, gdy nie spełni tego wymogu.
- Odtwarzanie dźwięku musi rozpoczynać się ≤ 500 ms po działaniu użytkownika, które
rozpocznie odtwarzanie.
Synchronizacja audio-wideo
- Odtwarzanie dźwięku powinno być zsynchronizowane z odtwarzaniem filmu. Odtwarzanie dźwięku może wydłużyć czas odtwarzania filmu o ≤25 ms lub do 95 ms.
Historia zmian
| Data | Wersja | Uwagi |
|---|---|---|
| 2024-06-21 | 1.2.1 | Podano specyfikację kompatybilną z ChromeOS. Początkowa publikacja w witrynie partnera. |
| 2022-09-01 | 1,2 | Powiązana specyfikacja WWCB w wersji 1.2 |
| 2022-02-05 | 1.1 | Powiązana specyfikacja WWCB w wersji 1.1 |
| 2021-01-12 | 1,0 | Utworzono powiązaną specyfikację WWCB. |