Version: 1.2.1
Dernière mise à jour: 14/06/2024
Légende
Verbe produit | Action de développement |
---|---|
"OBLIGATOIRE" | Exigence obligatoire concernant le produit |
"DEVRAIT" | Recommandation facultative |
"MAI" | Souhaitable |
Présentation
Ce document décrit les conditions requises pour utiliser un casque USB compatible avec ChromeOS rencontre. Cette spécification ne s'applique pas aux produits Compatibles Chromebook, ni aux produits conçus et certifiée avec un Chromebook.
USB
Sécurité
Dongle sans fil 2,4 GHz
- L'appareil sans fil 2,4 GHz ne s'associe automatiquement qu'au récepteur (dongle) fourni avec l'appareil.
- 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 doit modifier l'association du casque/du 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 que n’ont accès 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)
<ph type="x-smartling-placeholder">
- </ph>
- Casque (0x0402)
- SpeakerPhone (0x0403-0x0405) pour en savoir plus.
- Nous vous recommandons d'indiquer le type de terminal UAC (USB Audio Class)
<ph type="x-smartling-placeholder">
- 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 que HID.
- Le casque doit être conforme aux spécifications du micrologiciel et du connecteur Compatible Chromebook Chromebook. exigences.
Logiciel
Format
Veuillez consulter 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 l'élément AudioStreaming
Descripteur de l'interface -> tSamFreq
Exemple de taux d'échantillonnage de sortie audio USB de 48 Kbit/s
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'une entrée audio USB à 44,1 k
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, la Le périphérique USB doit prendre en charge l'émission ou la réception du HID correspondant selon la norme USB.org HID caractéristiques.
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 |
---|---|---|
Interrupteur à crochet | 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 périphérique USB n'est pas compatible avec la classe audio USB (UAC), il affiche toujours une de sortie dans la barre d'état 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 <ph type="x-smartling-placeholder">
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 taux mesuré et le taux d'échantillonnage doit être ≤ 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, 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 le chemin d'accès - Couper le son
- S'il existe une interface permettant aux utilisateurs de couper le son de l'appareil audio, celle-ci doit
<ph type="x-smartling-placeholder">
- </ph>
- Conservez l'état de désactivation du son qui n'est pas affecté par:
<ph type="x-smartling-placeholder">
- </ph>
- Ouverture et fermeture de l'appareil.
- Passage à un autre périphérique d'entrée.
Latence audio
Latence
- Latence de sortie
<ph type="x-smartling-placeholder">
- </ph>
- 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. Lecture audio peut commencer la vidéo de ≤25 ms ou la faire avancer de ≤95 ms.
Historique des révisions
Date | Version | Remarques |
---|---|---|
2024-06-14 | 1.2.1 | Spécification compatible avec ChromeOS dérivées. Publication initiale du site du partenaire. |
2022-09-01 | 1.2 | Spécification Compatible Chromebook v1.2 associée |
2022-06-06 | 1.1 | Spécification Compatible Chromebook v1.1 associée |
2020-09-21 | 1.0 | Spécification Compatible Chromebook associée créée. |