版本: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) 終端機類型
- 耳機 (0x0402)
- SpeakerPhone (0x0403-0x0405) ,直接在 Google Cloud 控制台實際操作。
- 建議您回報 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
。
- 例如調高音量。
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 |
吊掛式 | 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 | 已更新至 v1.2。 |
2022-08-19 | 1.1 | 已更新至 v1.1。 |
2022-08-18 | 1.0 | 已建立相關 WWCB 規格。 |