ChromeOS 対応 - USB マイク仕様 v1.2

バージョン: 1.2.1
最終更新日: 2024 年 6 月 21 日

Legend

製品の動詞 開発アクション
「しなければならない」 必須のプロダクト要件
「するべきです」 推奨事項(省略可)
「未定」 推奨

概要

このドキュメントでは、ChromeOS 対応の USB マイクの要件について説明します。 実現します。この仕様は、WWCB 製品および設計された製品用ではありません。 Chromebook と一緒です

USB

セキュリティ

2.4 GHz ワイヤレスドングル

  • 2.4 GHz ワイヤレス デバイスは、受信機(ドングル)とのみ が付属しています。
  • ヘッドセットをペア設定するには、ユーザーの操作(デバイスまたはアプリ経由)が必要 別のレシーバーとペア設定するか、新しいヘッドセットを既存のレシーバーとペア設定してください。
  • ヘッドセットとレシーバーのペア設定を変更する必要がある場合は、そのアプリを ChromeOS(拡張機能を使用するなど)。また、Terraform を使用するウェブアプリも、 WebUSB/WebHID
  • 拡張機能を介してペアリングを実装する場合、拡張機能は アクセスできます。コンテンツ スクリプトは明示的に禁止されています。

ファームウェアとコネクタ

  • ヘッドセットは、正しいオーディオ インターフェースを備えたオーディオ デバイスとして宣言する必要があります (0x01)記述子を使用します。
    • 入力と出力の両方に対応する記述子が 1 つ必要です 終端します。
      • USB Audio Class(UAC)端子タイプを報告することをおすすめします <ph type="x-smartling-placeholder">
  • ボタンがある場合は、HID として宣言する必要があります。
  • ヘッドセットは WWCB ファームウェアとコネクターに適合している必要があります。 要件をご覧ください。

ソフトウェア

形式

音声形式を参照してください。

デバイスには、入力と出力の両方のオーディオ インターフェース記述子があります。

  • オーディオ インターフェース記述子の例

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

入出力のサンプルレートが異なる場合は、デバイスを 異なるサンプルレートで再生とキャプチャを同時に行うことができます。 それ以外の場合は、デバイスは AudioStreaming で同じ値を反映する必要があります。 インターフェース記述子 ->tSamFreq

  • 48k USB オーディオ出力のサンプルレートの例

    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
    
  • 44.1k USB オーディオ入力サンプルレートの例

    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 コード

  • HID イベントごとに、一度に 1 つのイベントのみを送信できます。
  • 正しいイベントコードと対応するイベントコードが 確認します。
    • たとえば、音量を上げます。 evtest 監視できるのは 1 つの音量アップイベントのみです。また、 KEY_VOLUME_UP
  • 以下の機能を提供するように設計されたインターフェースがある場合、 USB 周辺機器は、対応する HID の送受信をサポートする必要があります。 USB.org HID に準拠) 仕様をご覧ください。
ユーザー ページ(0x0c)
キー名 HID 使用状況 ID 使用タイプ
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
電話のページ(0x0b)
キー名 HID 使用状況 ID 使用タイプ
フックスイッチ 0x20 OOC
着信音 0x9e OOC
LED ページ(0x08)
キー名 HID 使用状況 ID 使用タイプ
ミュート 0x09 OOC
オフフック 0x17 OOC
着信音 0x18 OOC

ジャック検出

USB デバイスが USB Audio Class(UAC)をサポートしていない場合は、 出力ノードで確認できます。ただし、USB デバイスが UAC では、3.5 mm オーディオ ジャックを 挿入されました。

  • ChromeOS 3.5 mm ジャックには在宅確認を使用する必要があります <ph type="x-smartling-placeholder">
      </ph>
    • 次のいずれかで挿入検出を実行する必要があります。 <ph type="x-smartling-placeholder">

オーディオ形式

再生 録画中
サンプルレート 16 kHz 以上 16 kHz 以上
形式 S16_LE S16_LE
  • 正しいチャンネル番号と設定が必要です。
  • ヘッドセットがサポートと宣言しているすべてのサンプリング レートが正しく機能する必要があります。
    • 測定レートとサンプリング レートの偏差は 0.1% 以下である必要があります。
    • 測定レートの線形回帰の標準誤差は < 30.
  • ヘッドセットは、さまざまなサンプルレートで再生またはキャプチャできるようになっている必要があります。 アサートします。

    例: 44.1 kHz で音声を再生し、48 kHz 未満で音声をキャプチャする できます。

    • それ以外の場合は、ChromeOS で特定の構成ファイルを 防ぐことができます

音質

キャプチャパス - ミュート

  • ユーザーがオーディオ機器をミュートするためのインターフェースがある場合は、 <ph type="x-smartling-placeholder">
      </ph>
    • 以下の影響を受けない方法でミュート状態を維持する。 <ph type="x-smartling-placeholder">
        </ph>
      • デバイスの開閉。
      • 別の入力デバイスに切り替える。
  • ユーザーがヘッドセットまたは ChromeOS のミュートボタンを押すと、 ミュート状態を変更する必要があります。
  • ミュート状態が変化すると、ディスプレイのミュート状態インジケーター(LED など)が 変更する必要があります。

オーディオ レイテンシ

レイテンシ

  • 出力レイテンシ <ph type="x-smartling-placeholder">
      </ph>
    • 音声の再生は、ユーザーが操作してから 500 ミリ秒以下で開始する必要があります。 再生を開始します。
      • デバイスの OEM がエコーが発生しないことを証明できる場合は、免除を申請できます。 この要件を満たさない場合に適用されます。

A/V 同期

  • 音声の再生は動画再生と同期する必要があります。オーディオの再生 遅れて 25 ミリ秒以下、または 95 ミリ秒以下になる場合があります。

変更履歴

日付 バージョン メモ
2024-06-21 1.2.1 ChromeOS 互換の仕様を導き出しました。パートナー サイトの初回公開。
2022-09-01 1.2 関連する WWCB 仕様 v1.2
2022-02-05 1.1 関連する WWCB 仕様 v1.1
2021-01-12 1.0 関連する WWCB 仕様を作成しました。