Versione: 1.3
Ultimo aggiornamento: 06/09/2024
Legend
| Product Verb | Azione di sviluppo |
|---|---|
| "MUST" | Requisito di prodotto obbligatorio |
| "SHOULD" | Consiglio facoltativo |
| "MAY" | Consigliabili |
Panoramica
Questo documento descrive i requisiti soddisfatti da un microfono con altoparlante USB+Bluetooth compatibile con ChromeOS. Questa specifica non è 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) incluso nella confezione.
- Per accoppiare le cuffie con un altro ricevitore o accoppiare nuove cuffie con un ricevitore esistente, è necessaria un'azione dell'utente (sul dispositivo o tramite un'app).
- Se un'app è necessaria per modificare l'accoppiamento di cuffie/ricevitore, 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, questa deve solo avere accesso alle porte USB. Gli script di contenuti sono esplicitamente vietati.
Firmware e connettore
- Le cuffie devono essere dichiarate come dispositivo audio con un descrittore di interfaccia audio
(0x01) corretto.
- Deve essere presente un descrittore corrispondente per il terminale di input e output.
- Ti consigliamo di segnalare il tipo di terminale USB Audio Class (UAC)
- Cuffie (0x0402)
- SpeakerPhone (0x0403-0x0405) .
- Ti consigliamo di segnalare il tipo di terminale USB Audio Class (UAC)
- Deve essere presente un descrittore corrispondente per il terminale di input e output.
- Se ha un pulsante, deve essere dichiarato come HID.
- Le cuffie devono soddisfare i requisiti di firmware e connettore WWCB.
Software
Formato
Consulta Formato audio.
Per il dispositivo sono presenti sia il descrittore dell'interfaccia audio di input che quello di output.
Esempio di descrittore dell'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 in grado di supportare la riproduzione e l'acquisizione a frequenze di campionamento diverse contemporaneamente.
In caso contrario, il dispositivo deve riflettere lo stesso valore nel descrittore dell'interfaccia AudioStreaming -> 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 DataEsempio di frequenza di campionamento dell'input audio USB a 44,1 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] 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.
- Quando viene premuto il pulsante, devono essere ricevuti il codice evento corretto e il codice evento corrispondente.
- Ad esempio, aumenta il volume.
evtest
può osservare un solo evento di aumento del volume e il codice deve essere
KEY_VOLUME_UP.
- Ad esempio, aumenta il volume.
evtest
può osservare un solo evento di aumento del volume e il codice deve essere
- Se è presente un'interfaccia progettata per fornire le seguenti funzionalità, la periferica USB deve supportare l'emissione o la ricezione degli eventi HID corrispondenti in base alla specifica HID di USB.org.
Pagina del consumatore (0x0c)
| Nome chiave | ID di 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 di utilizzo HID | Tipo di utilizzo |
|---|---|---|
| Interruttore di sgancio | 0x20 |
OOC |
| Ringer | 0x9e |
OOC |
Pagina LED (0x08)
| Nome chiave | ID di utilizzo HID | Tipo di utilizzo |
|---|---|---|
| Disattiva audio | 0x09 |
OOC |
| Off-Hook | 0x17 |
OOC |
| Anello | 0x18 |
OOC |
Rilevamento jack
Se un dispositivo USB non supporta la classe audio USB (UAC), mostrerà sempre un nodo di output nella barra di sistema di ChromeOS. Tuttavia, se il dispositivo USB supporta UAC, il sistema sarà in grado di rilevare correttamente un jack audio da 3,5 mm quando il dispositivo è inserito.
- CrOS Must use presence detection for 3.5mm jacks
Requisiti Bluetooth generali
Consulta ChromeOS Compatible - Bluetooth Specification.
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 dalle cuffie devono funzionare correttamente.
- La deviazione tra la frequenza misurata e la frequenza di campionamento deve essere ≤ 0,1% .
- L'errore standard per la regressione lineare della velocità misurata deve essere < 30.
Le cuffie devono supportare la riproduzione o l'acquisizione a diverse frequenze di campionamento che dichiarano di supportare.
Ad esempio, riproduci l'audio a una frequenza inferiore a 44,1 kHz, ma acquisisci la voce a una frequenza inferiore a 48 kHz contemporaneamente.
- In caso contrario, ChromeOS richiede l'aggiunta di un file di configurazione specifico per impedirlo a livello di sistema.
Qualità audio
Acquisizione percorso - Disattiva audio
- Se esiste un'interfaccia per consentire agli utenti di disattivare l'audio del dispositivo, questa deve
- Mantenere lo stato di disattivazione dell'audio in modo che non sia interessato da:
- Apertura e chiusura del dispositivo.
- Passaggio a un altro dispositivo di input.
Latenza audio
Latenza
- Latenza di output
- La riproduzione audio deve iniziare ≤500 ms dopo un'azione dell'utente che
avvia la riproduzione.
- Può richiedere una deroga se l'OEM del dispositivo può dimostrare che non viene introdotto eco quando non soddisfa questo requisito.
- La riproduzione audio deve iniziare ≤500 ms dopo un'azione dell'utente che
avvia la riproduzione.
Sincronizzazione A/V
- La riproduzione audio deve essere sincronizzata con la riproduzione video. La riproduzione audio può anticipare il video di ≤25 ms o ritardare il video di ≤95 ms.
Cronologia delle revisioni
| Data | Versione | Note |
|---|---|---|
| 2024-09-06 | 1.3 | Specifiche compatibili con ChromeOS derivate. Pubblicazione iniziale del sito partner. |
| 2022-09-14 | 1,2 | Aggiornato 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. |