Zgodność z ChromeOS – specyfikacja zestawu słuchawkowego USB w wersji 1.2

Wersja: 1.2.1
Ostatnia aktualizacja: 14.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 zestawu słuchawkowego 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)
  • 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               Data
    
  • Przykł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
  • 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
    • Musisz wykryć wstawienie przy użyciu jednego z tych elementów:

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ć określony plik konfiguracji 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.
  • Jeśli użytkownik naciśnie przycisk wyciszania na słuchawkach lub w ChromeOS, stan wyciszenia musi się zmienić.
  • Jeśli zmieni się stan wyciszenia, wskaźnik stanu wyciszenia (np. LED) na Gogle muszą się zmienić.

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.

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-14 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-06-06 1.1 Powiązana specyfikacja WWCB w wersji 1.1
2020-09-21 1,0 Utworzono powiązaną specyfikację WWCB.