版本: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) 描述元。
- 輸入和輸出終端機都必須有一個對應的描述元。
- 建議回報 USB 音訊類別 (UAC) 終端機類型
- 耳機 (0x0402)
- SpeakerPhone (0x0403-0x0405) .
- 建議回報 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
如果輸入和輸出的取樣率不同,裝置必須能夠同時支援不同取樣率的播放和擷取作業。否則,裝置必須在 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 Data44.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。
- 舉例來說,增加音量。
evtest
只能觀察一個音量調高事件,且程式碼必須為
- 如有任何介面旨在提供下列功能,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 公釐音訊插孔。
一般藍牙規定
請參閱「ChromeOS 相容性 - 藍牙規格」。
音訊格式
| 播放 | 錄製 | |
|---|---|---|
| 取樣率 | ≥ 16 kHz | ≥ 16 kHz |
| 格式 | S16_LE | S16_LE |
- 頻道號碼和設定必須正確無誤。
- 耳機聲明支援的所有取樣率都必須正常運作。
- 測量速率與取樣率之間的偏差必須 ≤ 0.1%。
- 測量速率的線性迴歸標準誤差必須 < 30。
耳機必須支援在不同取樣率下播放或擷取音訊,並聲明支援這些取樣率。
舉例來說,同時播放低於 44.1 kHz 的音訊,並以 48 kHz 擷取語音。
- 否則,ChromeOS 必須新增特定設定檔,才能在系統端防止這類情況。
音訊品質
擷取路徑 - 設為靜音
- 如果使用者介面提供音訊裝置靜音功能,則必須符合下列條件:
- 請以不會受到下列情況影響的方式,維持靜音狀態:
- 開合裝置。
- 切換到其他輸入裝置。
音訊延遲
延遲時間
- 輸出延遲時間
- 使用者啟動播放後,音訊必須在 500 毫秒內開始播放。
- 如果裝置 OEM 可以證明未導入任何回音,即可要求豁免。
- 使用者啟動播放後,音訊必須在 500 毫秒內開始播放。
音訊/影片同步
- 音訊播放應與影片播放同步。音訊播放時間可能比影片早 ≤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 規格。 |