ChromeOS 相容性 - 麥克風規格第 1.3 版

版本:1.3
上次更新時間:2024 年 9 月 6 日

圖例

產品動詞 開發動作
「MUST」 強制性產品規定
「SHOULD」 選用建議
「MAY」 建議條件

總覽

本文說明 ChromeOS 相容 USB 和藍牙喇叭麥克風的相關規定。本規格不適用於 WWCB 產品,也不適用於與 Chromebook 一併設計及認證的產品。

USB

安全性

2.4 GHz 無線硬體鎖

  • 2.4 GHz 無線裝置只會與符合下列條件的接收器 (連接器) 自動配對: 包裝盒內容物
  • 使用者必須採取行動 (在裝置上或透過應用程式),才能將耳機與其他接收器配對,或將新耳機與現有接收器配對。
  • 如果需要變更耳機/接收器配對的應用程式,必須在以下位置執行應用程式: ChromeOS,例如透過擴充功能。您也可以使用 Google Cloud 控制台 WebUSB/WebHID。
  • 如果是透過擴充功能執行配對,則只能 可存取 USB 連接埠明確禁止使用內容指令碼。

韌體和連接器

  • 耳機必須宣告為音訊裝置,並使用正確的音訊介面 (0x01) 描述符。
    • 輸入和輸出端點都必須有一個對應的描述符。
      • 建議您回報 USB 音訊類別 (UAC) 終端機類型
  • 如果有任何按鈕,就必須宣告為 HID。
  • 頭戴式裝置必須符合 WWCB 韌體和連接器 需求

軟體

格式

請參閱音訊格式

對於同時具有輸入和輸出音訊介面描述元的裝置。

  • 音訊介面描述元資料範例

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

如果輸入和輸出的取樣率不同,裝置必須能夠同時支援以不同取樣率播放和擷取內容。否則,裝置必須在 AudioStreamingInterfaceDescriptor -> 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 事件只能傳送一次事件。
  • 應該在何時 是否已按下按鈕。
    • 例如調高音量。 evtest 只能觀察到一個調高音量事件,程式碼必須 KEY_VOLUME_UP
  • 如果有任何介面旨在提供下列功能,USB 周邊裝置必須支援根據 USB.org HID 規格發出或接收對應的 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 音訊類別 (UAC),則會一律在 ChromeOS 系統匣中顯示輸出節點。不過,如果 USB 裝置支援 UAC,系統就能在插入裝置時正確偵測 3.5 公釐耳機插孔。

  • CrOS 必須使用在家狀態偵測功能,才能進行 3.5 公釐耳機插孔
    • 必須透過下列任一方式執行插入偵測:

一般藍牙需求

請參閱「ChromeOS 相容 - 藍牙規格」一文。

音訊格式

可單人練球 錄製
取樣率 ≥ 16 kHz ≥ 16 kHz
格式 S16_LE S16_LE
  • 頻道編號和設定必須正確無誤。
  • 耳機宣稱支援的所有取樣率都必須正常運作。
    • 測量率和取樣率之間的差異不得超過 0.1%。
    • 線性迴歸測量速率的標準誤差必須 < 30.
  • 耳機必須支援在其宣稱支援的不同取樣率下播放或擷取內容。

    例如,同時播放 44.1 kHz 以下的音訊,但同時擷取 48 kHz 以下的語音。

    • 否則,ChromeOS 必須新增特定設定檔,才能在系統端防止這類情況發生。

音訊品質

擷取路徑 - 靜音

  • 如果有任何介面可讓使用者將音訊裝置靜音,則該介面必須
    • 以不受下列因素影響的方式維持靜音狀態:
      • 開啟及關閉裝置。
      • 切換至其他輸入裝置。
  • 當使用者按下耳機或 ChromeOS 上的靜音按鈕, 必須變更靜音狀態。
  • 如果靜音狀態有變,耳機上的靜音狀態指示燈 (例如 LED) 必須變更。

音訊延遲時間

延遲時間

  • 輸出延遲時間
    • 在使用者啟動播放操作後,音訊播放必須在 500 毫秒內開始。
      • 如果裝置原始設備製造商 (OEM) 可證明未收到回音,可能會要求拋棄權利 。

音訊/視訊同步

  • 音訊播放應與影片播放同步。音訊播放可能會比影片提前或延後 ≤25 毫秒或 ≤95 毫秒。

修訂版本記錄

日期 版本 附註
2024-09-06 1.3 衍生出 ChromeOS 的相容規格。夥伴網站初始出版。
2022-09-14 1.2 已更新至 v1.2。
2022-08-19 1.1 已更新至 v1.1。
2022-08-18 1.0 已建立相關 WWCB 規格。