Compatibile con ChromeOS - Specifiche cuffie USB v1.2

Versione: 1.2.1
Ultimo aggiornamento: 14-06-2024

Legenda

Verbo prodotto Azione di sviluppo
"DEVE" Requisito di prodotto obbligatorio
"DOVREBBE" Suggerimento facoltativo
"MAGGIO" Consigliabili

Panoramica

Questo documento descrive i requisiti delle cuffie USB compatibili con ChromeOS incontra. Questa specifica non riguarda i prodotti Funziona con Chromebook, né un prodotto progettato e certificato insieme a Chromebook.

USB

Sicurezza

Chiavetta wireless 2,4 GHz

  • Il dispositivo wireless a 2,4 GHz si accoppia automaticamente solo con il ricevitore (dongle) che con la confezione.
  • È richiesta un'azione dell'utente (sul dispositivo o tramite un'app) per accoppiare le cuffie con un altro ricevitore o accoppia nuove cuffie con un ricevitore esistente.
  • Se è necessaria un'app per modificare l'accoppiamento di cuffie e ricevitori, l'app deve essere eseguita su ChromeOS, ad esempio tramite un'estensione. L'app può anche essere un'app web che utilizza WebUSB/WebHID.
  • Se l'accoppiamento viene implementato tramite un'estensione, quest'ultima deve solo hanno accesso alle porte USB. Gli script di contenuti sono esplicitamente non consentiti.

Firmware e connettore

  • Le cuffie devono essere dichiarate come dispositivi audio con un'interfaccia audio corretta (0x01).
    • Deve esserci un descrittore corrispondente sia per l'input che per l'output o nel terminale.
      • Ti consigliamo di indicare il tipo di terminale USB Audio Class (UAC)
  • Se ha un pulsante, deve essere dichiarato come HID.
  • Le cuffie devono essere conformi alle norme firmware e connettore WWCB requisiti.

Software

Formato

Fai riferimento a Formato audio.

Per il dispositivo, hanno un descrittore dell'interfaccia audio di input e output.

  • Esempio di descrittore di interfaccia audio

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
    

Se le frequenze di campionamento dell'input e dell'output sono diverse, il dispositivo deve essere supportare contemporaneamente la riproduzione e l'acquisizione a frequenze di campionamento diverse. In caso contrario, il dispositivo deve riflettere lo stesso valore nell'AudioStreaming Descrittore dell'interfaccia -> tSamFreq.

  • Esempio di frequenza di campionamento dell'uscita audio USB 48k

    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
    
  • Esempio di frequenza di campionamento dell'ingresso audio USB a 44.1k

    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
    

Codici HID

  • Per ogni evento HID può trasmettere un solo evento una volta.
  • Il codice evento corretto e il codice evento corrispondente devono essere ricevuti quando quando viene premuto il pulsante.
    • Ad esempio, aumenta il volume. evtest può osservare un solo evento di aumento del volume e il codice deve essere KEY_VOLUME_UP.
  • Se esiste un'interfaccia progettata per fornire le seguenti funzionalità, La periferica USB deve supportare l'emissione o la ricezione dell'HID corrispondente eventi secondo USB.org HID la specifica del prodotto.
Pagina consumer (0x0c)
Nome chiave ID utilizzo HID Tipo di utilizzo
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
Pagina telefonia (0x0b)
Nome chiave ID utilizzo HID Tipo di utilizzo
Interruttore a gancio 0x20 OOC
Suoneria 0x9e OOC
Pagina LED (0x08)
Nome chiave ID utilizzo HID Tipo di utilizzo
Disattiva audio 0x09 OOC
Sganciato 0x17 OOC
Squilla 0x18 OOC

Rilevamento jack

Se un dispositivo USB non supporta USB Audio Class (UAC), verrà sempre visualizzata di output nella barra delle applicazioni di ChromeOS. Tuttavia, se il dispositivo USB supporta attiva, il sistema sarà in grado di rilevare correttamente un jack audio da 3,5 mm quando dispositivo inserito.

  • CrOS: rilevamento della presenza di persone per jack da 3,5 mm
    • Deve eseguire il rilevamento dell'inserimento tramite uno dei seguenti:

Formato audio

Riproduzione Registrazione
Frequenza di campionamento ≥ 16 kHz ≥ 16 kHz
Formato S16_LE S16_LE
  • Il numero e la configurazione del canale devono essere corretti.
  • Tutte le frequenze di campionamento dichiarate supportate dal visore devono funzionare correttamente.
    • La deviazione tra frequenza misurata e frequenza di campionamento deve essere ≤ 0,1% .
    • L'errore standard per la regressione lineare del tasso misurato deve essere inferiore a 30.
  • Le cuffie devono supportare la riproduzione o l'acquisizione con frequenze di campionamento diverse a sostegno di quanto dichiarato.

    Ad esempio, riproduci audio a meno di 44,1 kHz, ma acquisisci la voce a meno di 48 kHz contemporaneamente.

    • In caso contrario, ChromeOS deve aggiungere un file di configurazione specifico per evitare che venga riscontrato sul lato del sistema.

Qualità audio

Percorso di acquisizione - Disattiva audio

  • Se esiste un'interfaccia in cui gli utenti possono disattivare l'audio del dispositivo audio, questo deve
    • Mantieni lo stato di disattivazione audio in un modo che non sia influenzato da:
      • Apertura e chiusura del dispositivo.
      • Passaggio a un altro dispositivo di input.
  • Se l'utente preme il tasto di disattivazione audio sulle cuffie o su ChromeOS, il lo stato di disattivazione dell'audio deve cambiare.
  • Se lo stato di disattivazione dell'audio cambia, l'indicatore dello stato (ad es.: LED) sulla le cuffie devono cambiare.

Latenza audio

Latenza

  • Latenza di output
    • La riproduzione audio deve iniziare prima di 500 ms dopo un'azione dell'utente che avvia la riproduzione.
      • Può richiedere una rinuncia se il produttore del dispositivo è in grado di dimostrare che l'eco non viene introdotto quando non supera questo requisito.

Sincro A/V

  • La riproduzione dell'audio deve essere sincronizzata con la riproduzione del video. Riproduzione audio possono generare una visualizzazione più breve del video di ≤ 25 ms o un ritardo rispetto al video entro ≤ 95 ms.

Cronologia delle revisioni

Data Versione Note
14/06/2024 1.2.1 Specifiche compatibili con ChromeOS derivate. Pubblicazione iniziale sul Sito partner.
2022-09-01 1,2 Specifica WWCB correlata v1.2
2022-06-06 1.1 Specifica WWCB correlata v1.1
2020-09-21 1,0 Specifica Funziona con Chromebook correlata creata.