Versión: 1.3
Última actualización: 6 de septiembre de 2024
Leyenda
Verbo del producto | Acción de desarrollo |
---|---|
“DEBE” | Requisitos obligatorios de los productos |
"DEBERÍA" | Recomendación opcional |
"MAY" | Deseable |
Descripción general
En este documento, se describen los requisitos de la compatibilidad con ChromeOS mediante USB y Bluetooth unión-micrófono y bocina. Esta especificación no es para productos WWCB ni para producto diseñado y certificado junto con una Chromebook.
USB
Seguridad
Adaptador inalámbrico de 2.4 GHz
- El dispositivo inalámbrico de 2.4 GHz solo se vincula automáticamente con el receptor (llave) que viene con la caja.
- Se requiere una acción del usuario (ya sea en el dispositivo o mediante una app) para vincular los auriculares con otro receptor o vincula nuevos auriculares con el receptor existente.
- Si se requiere que una app altere la sincronización de auriculares/receptores, esta 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 debe solo. tienen acceso a puertos USB. Las secuencias de comandos de contenido no están permitidas de forma explícita.
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 salida.
- Se recomienda informar el tipo de terminal de clase de audio USB (UAC)
- Auriculares (0x0402)
- SpeakerPhone (0x0403-0x0405) de Google Cloud.
- Se recomienda informar el tipo de terminal de clase de audio USB (UAC)
- Debe haber un descriptor correspondiente para la terminal de entrada y salida.
- Si tiene algún botón, se debe declarar como HID.
- Los auriculares deben cumplir con el Firmware y conector WWCB empresariales.
Software
Formato
Consulta Formato de audio.
Para el dispositivo, usa el descriptor de interfaz de audio de entrada y salida.
Ejemplo de 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 velocidades de muestreo de la entrada y la salida son diferentes, el dispositivo debe ser capaz de admitir la reproducción y la captura a diferentes velocidades de muestreo al mismo tiempo.
De lo contrario, el dispositivo debe reflejar el mismo valor en AudioStreaming
Descriptor de interfaz -> 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 Data
Ejemplo de tasa 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 puede transmitir un evento una vez por vez.
- Se debe recibir el código de evento correcto y el código de evento correspondiente cuando se presiona el botón.
- Por ejemplo, aumenta el volumen. evtest solo puede observar un evento de volumen hacia arriba y el código debe ser
KEY_VOLUME_UP
.
- Por ejemplo, aumenta el volumen. evtest solo puede observar un evento de volumen hacia arriba y el código debe ser
- Si existe alguna interfaz diseñada para proporcionar las siguientes funcionalidades, el El periférico USB debe admitir la emisión o recepción del HID correspondiente de acuerdo con el protocolo USB.org HID especificación.
Página para consumidores (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 gancho | 0x20 |
OOC |
Timbre | 0x9e |
OOC |
Página 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 conectores
Si un dispositivo USB no admite la clase de audio USB (UAC), siempre mostrará un 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 la Especificación de Bluetooth compatible con ChromeOS.
Formato de audio
Reproducción | Grabación | |
---|---|---|
Tasa de muestreo | ≥ 16 kHz | ≥ 16 kHz |
Formato | S16_LE | S16_LE |
- El número del canal y la configuración deben ser correctos.
- Todas las tasas 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 de 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 velocidades de muestreo. que admite.
Por ejemplo, reproduce audio por debajo de 44.1 kHz, pero captura voz por debajo de 48 kHz de forma simultánea.
- De lo contrario, requiere que ChromeOS agregue un archivo de configuración específico a en el sistema.
Calidad de audio
Capturar ruta: Silenciar
- Si existe alguna interfaz para que los usuarios silencien el dispositivo de audio, esta debe
- Mantén el estado silenciado 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 en un plazo de 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 produce ningún eco cuando no cumple con este requisito.
- La reproducción de audio debe comenzar en un plazo de 500 ms después de una acción del usuario que inicie la reproducción.
Sincronización de audio y video
- La reproducción de audio debe sincronizarse 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 compatible 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. |