Zgodność z ChromeOS – Speakermic Specification v1.3

Wersja: 1.3
Ostatnia aktualizacja: 6 września 2024 r.

Legenda

Czasownik związany z produktem Działanie związane z rozwojem
„MUSI” Wymagania dotyczące produktu
„POWINNO” Opcjonalna rekomendacja
„MAJ” Przydatne

Omówienie

Ten dokument opisuje wymagania dotyczące głośnika z mikrofonem USB + Bluetooth zgodnego z ChromeOS. Ta specyfikacja nie dotyczy produktów WWCB ani zaprojektowano i certyfikowanym razem z Chromebookiem.

USB

Bezpieczeństwo

Bezprzewodowa wtyczka do synchronizacji 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.
  • Aby sparować zestaw słuchawkowy z innym odbiornikiem lub sparować nowy zestaw słuchawkowy z dotychczasowym odbiornikiem, użytkownik musi wykonać odpowiednie działanie (na urządzeniu lub w aplikacji).
  • Jeśli do zmiany parowania słuchawek/odbiorników wymagana jest aplikacja, musi ona działać w ChromeOS, np. w rozszerzeniu. 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).
    • Dla terminala wejściowego i wyjściowego musi być jeden odpowiedni deskryptor.
      • 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 i złącza WWCB.

Oprogramowanie

Format

Zapoznaj się z Formatem audio.

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 wejścia i wyjścia są różne, urządzenie musi obsługiwać odtwarzanie i przechwytywanie z różnymi częstotliwościami próbkowania w tym samym czasie. W przeciwnym razie urządzenie musi odzwierciedlać tę samą wartość w AudioStreaming Interface Descriptor -> 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 on transmitować tylko 1 zdarzenie w danym momencie.
  • Po naciśnięciu przycisku powinien zostać przesłany prawidłowy kod zdarzenia i odpowiednio kod zdarzenia.
    • Na przykład zwiększ głośność. evtest może zarejestrować tylko jedno zdarzenie zwiększenia głośności, a kod musi zawierać: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 korzystania z HID Typ użycia
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 telefonii (0x0b)
Nazwa klucza Identyfikator korzystania z HID Typ użycia
Hook Switch 0x20 OOC
Dzwonek 0x9e OOC
Strona LED (0x08)
Nazwa klucza Identyfikator korzystania z HID Typ wykorzystania
Wycisz 0x09 OOC
Bez mocowania 0x17 OOC
Dzwonek 0x18 OOC

wykrywanie wtyczki,

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.

  • W przypadku gniazd słuchawek 3,5 mm należy używać wykrywania obecności.
    • Musisz wykryć wstawienie przy użyciu jednego z tych elementów:

Ogólne wymagania dotyczące Bluetootha

Zapoznaj się ze specyfikacją Bluetootha dla urządzeń zgodnych z ChromeOS.

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 obsługiwane częstotliwości próbkowania przez słuchawki 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 zmierzonej stawki musi być mniejszy niż 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

Trasa – wyciszenie

  • Jeśli użytkownicy mogą wyciszyć urządzenie audio, muszą mieć do tego dostęp w interfejsie.
    • Zachowanie stanu wyciszenia w sposób, na który nie mają wpływu:
      • otwieranie i zamykanie urządzenia.
      • przełączyć się na inne urządzenie wejściowe.
  • Gdy użytkownik naciśnie przycisk wyciszenia na słuchawkach lub w ChromeOS, stan wyciszenia musi się zmienić.
  • Jeśli stan wyciszenia się zmieni, wskaźnik stanu wyciszenia (np. dioda LED) na słuchawkach musi się zmienić.

Opóźnienie dźwięku

Czas oczekiwania

  • Opóźnienie wyjścia
    • Odtwarzanie dźwięku musi rozpocząć się w ciągu 500 ms od działania użytkownika, które inicjuje odtwarzanie.
      • Może poprosić o wyjątek, jeśli producent OEM może udowodnić, że nie ma echa, gdy nie spełnia tego wymagania.

Synchronizacja audio-wideo

  • Odtwarzanie dźwięku powinno być zsynchronizowane z odtwarzaniem filmu. Odtwarzanie dźwięku może wyprzedzać obraz o maksymalnie 25 ms lub opóźniać się o maksymalnie 95 ms.

Historia zmian

Data Wersja Uwagi
2024-09-06 1.3 Wyznaczono specyfikację zgodności z ChromeOS. Początkowa 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.