Compatibile con ChromeOS - Specifiche altoparlante con microfono v1.3

Versione: 1.3
Ultimo aggiornamento: 06-09-2024

Legenda

Verbo del prodotto Azione di sviluppo
"MUST" Requisito di prodotto obbligatorio
"DEVE" Suggerimento facoltativo
"MAY" Consigliabili

Panoramica

Questo documento descrive i requisiti che deve soddisfare un altoparlante con microfono USB+Bluetooth compatibile con ChromeOS. Queste specifiche non sono per i prodotti WWCB né per un prodotto progettato e certificato insieme a un Chromebook.

USB

Sicurezza

Dongle wireless a 2,4 GHz

  • Il dispositivo wireless a 2,4 GHz si accoppia automaticamente solo con il ricevitore (dongle) fornito con la confezione.
  • Per accoppiare le cuffie con un altro ricevitore o accoppiare nuove cuffie con un ricevitore esistente è necessaria l'azione dell'utente (sul dispositivo o tramite un'app).
  • 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 è implementato tramite un'estensione, quest'ultima deve solo avere accesso alle porte USB. Gli script di contenuti sono esplicitamente non consentiti.

Firmware e connettore

  • L'auricolare deve essere dichiarato come dispositivo audio con un descrittore dell'interfaccia audio corretto (0x01).
    • Deve essere presente un descrittore corrispondente sia per il terminale di input che per quello di output.
  • Se ha un pulsante, deve essere dichiarato come HID.
  • L'auricolare deve soddisfare i requisiti per il connettore e il firmware WWCB.

Software

Formato

Fai riferimento a Formato audio.

Il dispositivo deve avere descrittori di interfaccia audio sia in input che in 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 in AudioStreaming Interface Descriptor -> tSamFreq.

  • Esempio di frequenza di campionamento dell'uscita audio USB a 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               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 alla 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:

Requisiti Bluetooth generali

Fai riferimento a Compatibile con ChromeOS - Specifiche Bluetooth.

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 dall'auricolare devono funzionare correttamente.
    • La deviazione tra frequenza misurata e frequenza di campionamento deve essere ≤ 0,1% .
    • L'errore standard per la regressione lineare della frequenza misurata deve essere inferiore a 30.
  • L'auricolare deve supportare la riproduzione o la registrazione a frequenze di campionamento diverse da quelle dichiarate.

    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 è presente un'interfaccia che consente agli utenti di disattivare l'audio del dispositivo, deve essere
    • Mantieni lo stato di disattivazione dell'audio in modo che non venga 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 audio deve essere sincronizzata con la riproduzione video. La riproduzione audio può precedere il video di massimo 25 ms o seguirlo di massimo 95 ms.

Cronologia delle revisioni

Data Versione Note
2024-09-06 1.3 Specifiche compatibili con ChromeOS derivate. Pubblicazione iniziale sul Sito partner.
2022-09-14 1,2 Aggiornamento alla versione 1.2.
2022-08-19 1.1 Aggiornato alla versione 1.1.
2022-08-18 1,0 È stata creata la specifica WWCB correlata.