Mit ChromeOS kompatibel – Lautsprechermikrofon-Spezifikation Version 1.3

Version: 1.3
Letzte Aktualisierung: 6. September 2024

Legende

Produktverb Entwicklungsaktion
„MUST“ Obligatorische Produktanforderung
"SOLLTEN" Optionale Empfehlung
MAI Optional

Übersicht

In diesem Dokument werden die Anforderungen beschrieben, die ein mit ChromeOS kompatibler USB- und Bluetooth-Lautsprecher mit Mikrofon erfüllen muss. Diese Spezifikation gilt weder für WWCB-Produkte noch für für Chromebooks entwickelt und zertifiziert wurden.

USB

Sicherheit

2,4-GHz-Dongle

  • Das kabellose 2,4-GHz-Gerät kann nur automatisch mit dem Empfänger (Dongle) gekoppelt werden, im Lieferumfang enthalten.
  • Zum Koppeln des Headsets ist eine Nutzeraktion (entweder am Gerät oder über eine App) erforderlich mit einem anderen Empfänger oder koppeln Sie ein neues Headset mit einem vorhandenen Empfänger.
  • Wenn eine App erforderlich ist, um die Kopplung zwischen Headset und Receiver zu ändern, muss sie auf folgenden Geräten ausgeführt werden: ChromeOS, z. B. über eine Erweiterung. Die App kann auch eine Web-App sein, die WebUSB/WebHID
  • Wenn die Kopplung über eine Erweiterung implementiert wird, darf die Erweiterung nur Zugriff auf USB-Ports haben. Inhaltsskripte sind ausdrücklich nicht zulässig.

Firmware und Anschluss

  • Das Headset muss als Audiogerät mit einem korrekten Audio-Interface-Beschreibungselement (0x01) deklariert werden.
    • Es muss sowohl für das Eingabe- als auch für das Ausgabeterminal ein entsprechender Descriptor vorhanden sein.
      • Es wird empfohlen, den Terminaltyp der USB Audio Class (UAC) anzugeben.
  • Falls eine Schaltfläche vorhanden ist, muss sie als HID deklariert werden.
  • Das Headset muss die Anforderungen an die WWCB-Firmware und den Anschluss erfüllen.

Software

Format

Weitere Informationen finden Sie im Hilfeartikel Audioformat.

Das Gerät hat sowohl einen Audio-Eingabe- als auch einen Audio-Ausgabe-Schnittstellen-Descriptor.

  • Beispiel für einen Audio-Interface-Beschreibungsblock

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
    

Wenn die Abtastraten der Eingabe und Ausgabe unterschiedlich sind, muss das Gerät gleichzeitig die Wiedergabe und Aufnahme mit unterschiedlichen Abtastraten unterstützen. Andernfalls muss das Gerät denselben Wert im AudioStreaming-Interface-Beschreibungs-Objekt -> tSamFreq widerspiegeln.

  • Beispiel für eine Abtastrate von 48k USB-Audioausgabe

    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
    
  • Beispiel für eine USB-Audioeingabe mit einer Abtastrate von 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
    

HID-Codes

  • Für jedes HID-Ereignis kann nur ein Ereignis gleichzeitig gesendet werden.
  • Wenn die Schaltfläche gedrückt wird, sollten der richtige Ereigniscode und der entsprechende Ereigniscode empfangen werden.
    • Sie können beispielsweise die Lautstärke erhöhen. evtest nur ein Lauter-Ereignis beobachten kann und der Code KEY_VOLUME_UP
  • Wenn es eine Benutzeroberfläche gibt, die folgende Funktionen bietet, USB-Peripheriegeräte müssen das Senden oder Empfangen der entsprechenden HID unterstützen Ereignisse gemäß USB.org HID Spezifikation.
Verbraucherseite (0x0c)
Schlüsselname HID-Nutzungs-ID Nutzungstyp
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
Telefonieseite (0x0b)
Schlüsselname HID-Nutzungs-ID Nutzungstyp
Hakenschalter 0x20 OOC
Klingelton 0x9e OOC
LED-Seite (0x08)
Schlüsselname HID-Nutzungs-ID Nutzungstyp
Stummschalten 0x09 OOC
Nicht in der Gabel 0x17 OOC
Ring 0x18 OOC

Jack-Erkennung

Wenn ein USB-Gerät die USB Audio Class (UAC) nicht unterstützt, wird immer eine Ausgabeknotens in der ChromeOS-Taskleiste. Wenn das USB-Gerät jedoch dann erkennt das System die 3, 5-mm-Audiobuchse Gerät angeschlossen ist.

  • CrOS muss die Anwesenheitserkennung für 3,5-mm-Anschlüsse verwenden
    • Die Erkennung von Einfügungen muss über eine der folgenden Methoden erfolgen:

Allgemeine Bluetooth-Anforderungen

Weitere Informationen finden Sie unter ChromeOS-kompatibel – Bluetooth-Spezifikation.

Audioformat

Wiedergabe Aufzeichnung
Abtastrate ≥ 16 kHz ≥ 16 kHz
Format S16_LE S16_LE
  • Die Kanalnummer und -konfiguration müssen korrekt sein.
  • Alle vom Headset unterstützten Abtastrate müssen ordnungsgemäß funktionieren.
    • Die Abweichung zwischen der gemessenen Rate und der Abtastrate muss unter 0,1 % liegen.
    • Der Standardfehler für die lineare Regression der gemessenen Rate muss < 30.
  • Das Headset muss die Wiedergabe oder Aufnahme mit den verschiedenen Abtastraten unterstützen, die es angibt.

    Sie können beispielsweise Audio unter 44,1 kHz abspielen und gleichzeitig Sprache unter 48 kHz aufnehmen.

    • Andernfalls muss ChromeOS eine bestimmte Konfigurationsdatei hinzufügen, um dies auf Systemebene zu verhindern.

Audioqualität

Erfassungspfad – Stummschalten

  • Wenn es eine Benutzeroberfläche gibt, über die Nutzer das Audiogerät stummschalten können, muss sie folgende Anforderungen erfüllen:
    • Die Stummschaltung darf nicht durch folgende Faktoren beeinträchtigt werden:
      • Gerät öffnen und schließen
      • Wechsel zu einem anderen Eingabegerät.
  • Wenn der Nutzer die Stummschaltungstaste am Headset oder in ChromeOS drückt, muss sich der Stummschaltungsstatus ändern.
  • Wenn sich der Stummschaltungsstatus ändert, muss sich auch die entsprechende Anzeige (z. B. LED) am Headset ändern.

Audiolatenz

Latenz

  • Ausgabelatenz
    • Die Audiowiedergabe muss ≤500 ms nach einer Nutzeraktion beginnen, die startet die Wiedergabe.
      • Kann einen Verzicht anfordern, wenn der OEM des Geräts nachweisen kann, dass kein Echo die diese Anforderung nicht erfüllt.

Audio-/Videosynchronisierung

  • Die Audiowiedergabe sollte mit der Videowiedergabe synchronisiert sein. Die Audiowiedergabe darf das Video um maximal 25 ms voraus- oder um maximal 95 ms nachlaufen.

Überarbeitungsverlauf

Datum Version Hinweise
2024-09-06 1.3 ChromeOS-kompatible Spezifikation abgeleitet. Erste Veröffentlichung der Partner-Website.
2022-09-14 1.2 Aktualisiert auf Version 1.2.
2022-08-19 1.1 Aktualisiert auf v1.1.
2022-08-18 1.0 Zugehörige WWCB-Spezifikation erstellt.