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

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

Legend

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

總覽

本文說明 ChromeOS 相容 USB+Bluetooth 音箱麥克風的相關規定。本規格不適用於 WWCB 產品,也不適用於與 Chromebook 一起設計及認證的產品。

USB

安全性

2.4 GHz 無線 Dongle

  • 2.4 GHz 無線裝置只會自動與隨附的接收器 (轉接頭) 配對。
  • 如要將耳機與其他接收器配對,或將新耳機與現有接收器配對,必須由使用者在裝置上或透過應用程式執行操作。
  • 如果應用程式需要變更耳機/接收器配對,則應用程式必須在 ChromeOS 上執行,例如透過擴充功能。應用程式也可以是使用 WebUSB/WebHID 的網頁應用程式。
  • 如果配對是透過擴充功能實作,擴充功能只能存取 USB 連接埠。明確禁止使用內容指令碼。

韌體和連接器

  • 耳機必須宣告為音訊裝置,並使用正確的音訊介面 (0x01) 描述元。
    • 輸入和輸出終端機都必須有一個對應的描述元。
  • 如果含有任何按鈕,就必須宣告為 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 事件一次只能傳輸一個事件。
  • 按下按鈕時,應會收到正確的事件代碼和相應的事件代碼。
    • 舉例來說,增加音量。 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
Off-Hook 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 更新至 1.2 版。
2022-08-19 1.1 已更新至 1.1 版。
2022-08-18 1.0 已建立相關 WWCB 規格。