Compatibles con ChromeOS: Especificación de auriculares USB v1.2

Versión: 1.2.1
Última actualización: 14 de junio de 2024

Leyenda

Verbo del producto Acción de desarrollo
“DEBE” Requisito obligatorio del producto
"DEBERÍA" Recomendación opcional
"MAYO" Deseable

Descripción general

En este documento, se describen los requisitos de los auriculares USB compatibles con ChromeOS se reúne. Esta especificación no es para productos WWCB ni para productos y certificada 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 se incluye en 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 con WebUSB/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

  • Se deben declarar los auriculares como dispositivos de audio con una interfaz de audio correcta (0x01).
    • Debe haber un descriptor correspondiente para la entrada y la salida terminal.
      • Se recomienda informar el tipo de terminal de clase de audio USB (UAC)
  • Si tiene algún botón, debe declararse como HID.
  • Los auriculares deben cumplir con el Firmware y conector WWCB empresariales y de seguridad.

Software

Formato

Consulta la sección 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 tasas de muestreo de la entrada y la salida son diferentes, admitir la reproducción y la captura con distintas tasas 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,000

    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.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
    

Códigos HID

  • Para cada evento HID, solo puede transmitir un evento una vez por vez.
  • Se deben recibir el código de evento correcto y el código de evento correspondiente cuando se presiona el botón.
    • Por ejemplo, sube el volumen. evtest solo se puede observar un evento de aumento de volumen, y el código debe ser KEY_VOLUME_UP
  • 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 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 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
Enganche 0x17 OOC
Hacer sonar 0x18 OOC

Detección de Jack

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 el se insertó el dispositivo.

  • El CrOS debe usar la detección de presencias para conectores de 3.5 mm
    • Debe realizar la detección de inserción a través de una de las siguientes opciones:

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 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 <
  • Los auriculares deben admitir la reproducción o la captura con diferentes velocidades de muestreo. que admite.

    Por ejemplo, reproducir audio con menos de 44.1 kHz, pero capturar voz por debajo de 48 kHz al mismo tiempo.

    • De lo contrario, requiere que ChromeOS agregue un archivo de configuración específico a en el sistema.

Calidad del audio

Captura de 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:
      • Abriendo y cerrando el dispositivo.
      • Cambiando a otro dispositivo de entrada.
  • Si el usuario presiona el botón para silenciar en los auriculares o en ChromeOS, el el estado de silencio debe cambiar.
  • Si cambia el estado de silencio, el indicador de estado silenciado (p. ej., LED) en la los auriculares deben cambiar.

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 inicia la reproducción.
      • Se puede solicitar una renuncia si el OEM del dispositivo puede demostrar que no se emite eco. cuando no cumple con este requisito.

Sincronización de audio y video

  • La reproducción de audio debe sincronizarse con la reproducción de video. Reproducción de audio puede comenzar el video en ≤25 ms o disminuirlo en ≤95 ms.

Historial de revisión

Fecha Versión Notas
2024-06-14 1.2.1 Derivación de especificaciones compatibles con ChromeOS. Publicación inicial en el sitio del socio
2022-09-01 1.2 Especificación de WWCB relacionada v1.2
2022-06-06 1.1 Especificación de WWCB relacionada v1.1
21-09-2020 1.0 Se creó la especificación WWCB relacionada.