Version : 1.3
Dernière mise à jour : 06/09/2024
Légende
Verbe produit | Action de développement |
---|---|
"OBLIGATOIRE" | Exigence obligatoire concernant le produit |
"DEVRA" | Recommandation facultative |
"MAI" | Souhaitable |
Présentation
Ce document décrit les exigences d'un haut-parleur avec micro USB et Bluetooth compatible avec ChromeOS. Cette spécification ne s'applique pas aux produits Compatibles Chromebook, ni aux conçu et certifié avec un Chromebook.
USB
Sécurité
Dongle sans fil 2,4 GHz
- L'appareil sans fil 2,4 GHz ne s'associe automatiquement qu'avec le récepteur (dongle) fourni avec la box.
- Une action de l'utilisateur (sur l'appareil ou via une appli) est requise pour associer le casque avec un autre récepteur ou associer un nouveau casque au récepteur existant.
- Si une application est requise pour modifier l'association du casque/récepteur, elle doit s'exécuter sur ChromeOS, par exemple via une extension. L'application peut également être une application Web utilisant WebUSB/WebHID.
- Si l'association est implémentée via une extension, celle-ci ne doit avoir accès qu' aux ports USB. Les scripts de contenu sont explicitement interdits.
Micrologiciel et connecteur
- Le casque doit être déclaré en tant qu'appareil audio avec une interface audio correcte.
(0x01).
- Il doit y avoir un descripteur correspondant pour l'entrée et la sortie.
du terminal.
- Nous vous recommandons d'indiquer le type de terminal UAC (USB Audio Class)
- Casque (0x0402)
- SpeakerPhone (0x0403-0x0405) pour en savoir plus.
- Nous vous recommandons d'indiquer le type de terminal UAC (USB Audio Class)
- Il doit y avoir un descripteur correspondant pour l'entrée et la sortie.
du terminal.
- S'il comporte un bouton, il doit être déclaré en tant qu'HID.
- Le casque doit respecter les exigences concernant le micrologiciel et le connecteur WWCB.
Logiciel
Format
Veuillez consulter la section Format audio.
Les appareils disposent d'un descripteur d'interface audio d'entrée et de sortie.
Exemple de descripteur d'interface audio
Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0
Si les taux d'échantillonnage de l'entrée et de la sortie sont différents, l'appareil doit être
prendre en charge la lecture et l'enregistrement
à différents taux d'échantillonnage en même temps.
Sinon, l'appareil doit refléter la même valeur dans le descripteur d'interface AudioStreaming -> tSamFreq
.
Exemple de taux d'échantillonnage de sortie 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
Exemple de taux d'échantillonnage d'entrée 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
Codes HID
- Pour chaque événement HID, il ne peut transmettre qu'un seul événement à la fois.
- Le code d'événement correct et le code d'événement correspondant doivent être reçus lorsque
le bouton est enfoncé.
- Par exemple, augmentez le volume.
evtest
ne peut observer qu'un seul événement d'augmentation du volume et le code doit être
KEY_VOLUME_UP
- Par exemple, augmentez le volume.
evtest
ne peut observer qu'un seul événement d'augmentation du volume et le code doit être
- Si une interface est conçue pour fournir les fonctionnalités suivantes, le périphérique USB doit être compatible avec l'émission ou la réception des événements HID correspondants, conformément aux spécifications HID USB.org.
Page consommateur (0x0c)
Nom de la clé | ID d'utilisation HID | Type d'utilisation |
---|---|---|
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 |
Page de téléphonie (0x0b)
Nom de la clé | ID d'utilisation HID | Type d'utilisation |
---|---|---|
Commutateur Hook | 0x20 |
OOC |
Sonnerie | 0x9e |
OOC |
Page LED (0x08)
Nom de la clé | ID d'utilisation HID | Type d'utilisation |
---|---|---|
Couper le son | 0x09 |
OOC |
Hors crochet | 0x17 |
OOC |
Sonnerie | 0x18 |
OOC |
Détection de jack
Si un appareil USB n'est pas compatible avec la classe audio USB (UAC), un nœud de sortie s'affiche toujours dans la barre système de ChromeOS. Toutefois, si le périphérique USB prend en charge L'UAC est capable de détecter correctement un connecteur audio 3, 5 mm lorsque le périphérique est inséré.
- CrOS doit utiliser la détection de présence pour les connecteurs 3,5 mm
Configuration Bluetooth générale
Consultez la page Compatibilité avec ChromeOS : spécification Bluetooth.
Format audio
Lecture | Enregistrement | |
---|---|---|
Taux d'échantillonnage | ≥ 16 kHz | ≥ 16 kHz |
Format | S16_LE | S16_LE |
- Le numéro de canal et la configuration doivent être corrects.
- Tous les taux d'échantillonnage déclarés par le casque comme compatibles doivent fonctionner correctement.
- L'écart entre le débit mesuré et le taux d'échantillonnage doit être inférieur ou égal à 0,1 %.
- L'erreur type pour la régression linéaire du taux mesuré doit être < 30.
Le casque doit prendre en charge la lecture ou la capture à des taux d'échantillonnage différents. affirme à l’appui.
Par exemple, vous pouvez lire du contenu audio dont la fréquence est inférieure à 44,1 kHz, mais enregistrer une voix inférieure à 48 kHz. simultanément.
- Sinon, ChromeOS doit ajouter un fichier de configuration spécifique à l’empêcher du côté du système.
Qualité audio
Capturer un itinéraire - Couper le son
- S'il existe une interface permettant aux utilisateurs de couper le son de l'appareil audio, celle-ci doit
- Maintenez l'état de désactivation du son de manière à ce qu'il ne soit pas affecté par les éléments suivants :
- Ouverture et fermeture de l'appareil.
- Passage à un autre périphérique d'entrée.
Latence audio
Latence
- Latence de sortie
- La lecture audio doit commencer ≤ 500 ms après une action de l'utilisateur qui
lance la lecture.
- Peut demander une renonciation si l'OEM de l'appareil peut prouver qu'aucun écho n'est introduit lorsqu'elle ne répond pas à cette exigence.
- La lecture audio doit commencer ≤ 500 ms après une action de l'utilisateur qui
lance la lecture.
Synchronisation A/V
- La lecture audio doit être synchronisée avec la lecture vidéo. La lecture audio peut précéder la vidéo de ≤ 25 ms ou la suivre de ≤ 95 ms.
Historique des révisions
Date | Version | Remarques |
---|---|---|
2024-09-06 | 1.3 | Spécification de compatibilité avec ChromeOS dérivée. Publication initiale du site du partenaire. |
2022-09-14 | 1.2 | Mise à jour vers la version 1.2. |
2022-08-19 | 1.1 | Mise à jour vers la version 1.1. |
2022-08-18 | 1.0 | Spécification WWCB associée créée. |