Versión: 1.3
Última actualización: 2024-09-06
Legend
| Verbo del producto | Acción de desarrollo |
|---|---|
| "MUST" | Requisito obligatorio del producto |
| "SHOULD" | Recomendación opcional |
| "MAY" | Deseable |
Descripción general
En este documento, se describen los requisitos que debe cumplir un altavoz y micrófono USB y Bluetooth compatible con ChromeOS. Esta especificación no es para productos WWCB ni para productos diseñados y certificados junto con una Chromebook.
USB
Seguridad
Llave inalámbrica de 2.4 GHz
- El dispositivo inalámbrico de 2.4 GHz solo se vincula automáticamente con el receptor (dongle) que viene en la caja.
- Se requiere la acción del usuario (ya sea en el dispositivo o a través de una app) para vincular los auriculares con otro receptor o vincular auriculares nuevos con un receptor existente.
- Si una app requiere alterar la vinculación de auriculares o receptores, debe ejecutarse en ChromeOS, por ejemplo, a través de una extensión. La app también puede ser una app web que use WebUSB o WebHID.
- Si la vinculación se implementa a través de una extensión, esta solo debe tener acceso a los puertos USB. Los secuencias de comandos de contenido están explícitamente prohibidos.
Firmware y conector
- Los auriculares deben declararse como un dispositivo de audio con un descriptor de interfaz de audio (0x01) correcto.
- Debe haber un descriptor correspondiente para la terminal de entrada y la de salida.
- Se recomienda informar el tipo de terminal de la clase de audio USB (UAC)
- Auriculares (0x0402)
- Altavoz (0x0403-0x0405) .
- Debe haber un descriptor correspondiente para la terminal de entrada y la de salida.
- Si tiene algún botón, se debe declarar como HID.
- Los auriculares deben cumplir con los requisitos de firmware y conector de WWCB.
Software
Formato
Consulta Formato de audio.
El dispositivo debe tener un descriptor de interfaz de audio de entrada y salida.
Ejemplo de un descriptor de interfaz de audio
Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0
Si las frecuencias de muestreo de la entrada y la salida son diferentes, el dispositivo debe poder admitir la reproducción y la captura a diferentes frecuencias de muestreo al mismo tiempo.
De lo contrario, el dispositivo debe reflejar el mismo valor en el descriptor de interfaz AudioStreaming -> tSamFreq.
Ejemplo de tasa de muestreo de salida de audio USB de 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 DataEjemplo de una frecuencia de muestreo de entrada de audio USB de 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
Códigos HID
- Para cada evento HID, solo se puede transmitir un evento a la vez.
- Cuando se presiona el botón, se deben recibir el código de evento correcto y el código de evento correspondiente.
- Por ejemplo, aumentar el volumen.
evtest
solo puede observar un evento de aumento de volumen y el código debe ser
KEY_VOLUME_UP.
- Por ejemplo, aumentar el volumen.
evtest
solo puede observar un evento de aumento de volumen y el código debe ser
- Si hay alguna interfaz diseñada para proporcionar las siguientes funcionalidades, el periférico USB debe admitir la emisión o recepción de los eventos HID correspondientes según la especificación HID de USB.org.
Página del consumidor (0x0c)
| Nombre de la clave | ID de uso de HID | Tipo de uso |
|---|---|---|
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 |
Página de telefonía (0x0b)
| Nombre de la clave | ID de uso de HID | Tipo de uso |
|---|---|---|
| Interruptor de colgar | 0x20 |
OOC |
| Timbre | 0x9e |
OOC |
Página de LED (0x08)
| Nombre de la clave | ID de uso de HID | Tipo de uso |
|---|---|---|
| Silenciar | 0x09 |
OOC |
| Descolgado | 0x17 |
OOC |
| Hacer sonar | 0x18 |
OOC |
Detección de conector
Si un dispositivo USB no admite la clase de audio USB (UAC), siempre mostrará un nodo de salida en la bandeja del sistema de ChromeOS. Sin embargo, si el dispositivo USB admite UAC, el sistema podrá detectar correctamente un conector de audio de 3.5 mm cuando se inserte el dispositivo.
- CrOS debe usar la detección de presencia para los conectores de 3.5 mm.
Requisitos generales de Bluetooth
Consulta ChromeOS Compatible - Bluetooth Specification.
Formato del audio
| Reproducción | Grabación | |
|---|---|---|
| Tasa de muestreo | ≥ 16 kHz | ≥ 16 kHz |
| Formato | S16_LE | S16_LE |
- El número y la configuración del canal deben ser correctos.
- Todas las frecuencias de muestreo que los auriculares declaran como compatibles deben funcionar correctamente.
- La desviación entre la tasa medida y la tasa de muestreo debe ser ≤ 0.1% .
- El error estándar para la regresión lineal de la tasa medida debe ser inferior a 30.
Los auriculares deben admitir la reproducción o la captura con diferentes tasas de muestreo que afirman admitir.
Por ejemplo, reproducir audio a menos de 44.1 kHz, pero capturar voz a menos de 48 kHz de forma simultánea.
- De lo contrario, ChromeOS requiere que se agregue un archivo de configuración específico para evitarlo en el sistema.
Calidad de audio
Ruta de captura: Silenciar
- Si hay alguna interfaz para que los usuarios silencien el dispositivo de audio, debe cumplir con los siguientes requisitos:
- Mantén el estado de silencio de una manera que no se vea afectada por lo siguiente:
- Abrir y cerrar el dispositivo
- Cambiar a otro dispositivo de entrada
Latencia de audio
Latencia
- Latencia de salida
- La reproducción de audio debe comenzar ≤500 ms después de una acción del usuario que inicie la reproducción.
- Se puede solicitar una renuncia si el OEM del dispositivo puede demostrar que no se introduce eco cuando no se cumple este requisito.
- La reproducción de audio debe comenzar ≤500 ms después de una acción del usuario que inicie la reproducción.
Sincronización de A/V
- La reproducción de audio debe estar sincronizada con la reproducción de video. La reproducción de audio puede adelantarse al video en ≤25 ms o retrasarse en ≤95 ms.
Historial de revisión
| Fecha | Versión | Notas |
|---|---|---|
| 2024-09-06 | 1.3 | Se derivó la especificación de compatibilidad con ChromeOS. Publicación inicial del sitio del socio. |
| 2022-09-14 | 1.2 | Se actualizó a la versión 1.2. |
| 2022-08-19 | 1.1 | Se actualizó a la versión 1.1. |
| 2022-08-18 | 1.0 | Se creó la especificación de WWCB relacionada. |