Casque USB: spécification de l'accessoire

Cette documentation spécifie certaines caractéristiques des casques USB afin qu'ils fonctionnent de manière uniforme dans l'écosystème Android. Seuls les casques avec interface audio USB numérique sont autorisés. Les casques purement analogiques avec adaptation mécanique à USB-C ne sont pas autorisés, conformément à la spécification USB Type-C.

Cette documentation spécifie les exigences minimales: les fabricants d'accessoires sont encouragés à ajouter des fonctionnalités tout en gardant ces exigences à l'esprit.

Présentation fonctionnelle

Les casques USB peuvent implémenter diverses fonctionnalités de base et avancées. Cette spécification ne couvre que les fonctionnalités de base obligatoires:

  • Sortie stéréo
  • Micro (facultatif, mais recommandé)
  • Boutons de fonction pour le contrôle du volume, de la lecture et des appels

Types de terminaux de la classe audio USB

Les casques et les écouteurs doivent signaler les types de terminaux de la classe audio USB (UAC) suivants:

  • Écouteurs Transducteurs à faible impédance, < 100 ohms, sans micro: 0x0302
  • Casque Transducteurs à faible impédance avec micro: 0x0402

Fonctions de contrôle

Les casques peuvent être fournis avec un nombre variable de boutons pour contrôler des fonctions spécifiques, comme le volume et la lecture/mise en pause.

Fonction de contrôle Compatibilité avec les accessoires Description
A Obligatoire Lecture/Pause (appui bref), lancement de la commande vocale (appui prolongé), suivant (appui double)
B Facultatif Vol+
C Facultatif Vol-
D Facultatif Lancer la commande vocale

Attribuez des fonctions aux boutons comme suit:

  • Tous les casques à bouton unique doivent implémenter la fonction A.
  • Les casques avec plusieurs boutons doivent implémenter des fonctions selon le modèle suivant :
    • 2 fonctions: A et D
    • Trois fonctions: A, B et C
    • 4 fonctions: A, B, C et D

Remarque: Le verrouillage des clés n'est pas autorisé. Chaque pression de touche par l'utilisateur final doit générer l'événement de touche "bas" et "haut" correspondant, correspondant à l'action de l'utilisateur final. En d'autres termes, les touches des fonctions A à D ne sont jamais "verrouillées" ni implémentées pour être utilisées comme bouton d'activation/de désactivation (où l'événement "haut" ne suit l'événement "bas" qu'après une deuxième pression sur la touche).

Mappage logiciel

Des casques USB compatibles sont nécessaires pour prendre en charge les mappages logiciels suivants pour les boutons du casque. Les appareils font correspondre ces mappages HID au code de touche Android approprié.

Fonction Mappages
A Page d'utilisation HID: 0x0C
Utilisation HID: 0x0CD
B Page d'utilisation HID: 0x0C
Utilisation HID: 0x0E9
C Page d'utilisation HID: 0x0C
Utilisation HID: 0x0EA
D Page d'utilisation des périphériques HID: 0x0C
Utilisation des périphériques HID: 0x0CF

Les mappages de touches doivent être déclarés dans une collection d'applications HID. Pour les accessoires sans micro, utilisez Casque (Page d'utilisation: Consommation (0x0C), Utilisation: Casque (0x05)). Pour les accessoires avec micro, utilisez Casque (Page d'utilisation: Téléphonie (0x0B), Utilisation: Casque (0x05)).

Niveau de sortie

Le niveau de pression acoustique maximal doit respecter toutes les exigences réglementaires du pays de destination.

Mécanique

Les fabricants d'accessoires doivent respecter les exigences concernant les connecteurs USB, telles que spécifiées par USB.org.