版本:1.3
最后更新时间:2024 年 9 月 6 日
图例
产品动词 | 开发操作 |
---|---|
“MUST” | 强制性产品要求 |
“SHOULD” | 可选建议 |
“可以” | 建议条件 |
概览
本文档介绍了与 ChromeOS 兼容的 USB + 蓝牙的要求 麦克风与麦克风的交接点。此规范不适用于 WWCB 产品,或 与 Chromebook 配合使用。
USB
安全
2.4 GHz 无线加密狗
- 2.4 GHz 无线设备仅会与包装盒中随附的接收器(加密狗)自动配对。
- 必须由用户执行操作(在设备上或通过应用),才能将耳机与其他接收器配对,或将新耳机与现有接收器配对。
- 如果应用需要更改耳机/接收器配对,则应用必须在 ChromeOS(例如通过扩展程序)。该应用还可以是使用 WebUSB/WebHID 的 Web 应用。
- 如果通过扩展实现配对,该扩展只能 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 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 外围设备必须支持发出或接收相应的 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 |
Jack 检测
如果 USB 设备不支持 USB 音频类 (UAC),则始终会显示 ChromeOS 系统任务栏中的输出节点。但是,如果 USB 设备支持 UAC,在 3.5 毫米音频插孔 设备。
一般蓝牙要求
音频格式
回放 | 录制 | |
---|---|---|
采样率 | ≥ 16 kHz | ≥ 16 kHz |
格式 | S16_LE | S16_LE |
- 频道号和配置必须正确无误。
- 耳机声明支持的所有采样率都必须正常工作。
- 测量速率与采样速率之间的偏差不得超过 0.1%。
- 测量速率的线性回归的标准误差必须小于 30.
耳机必须支持在不同采样率下播放或捕获 来支持它
例如,以 44.1 kHz 的采样率播放音频,同时以 48 kHz 的采样率录制语音。
- 否则,ChromeOS 便需要将特定的配置文件添加到 阻止它在系统端运行
音频质量
捕获路径 - 静音
- 如果有任何界面可供用户将音频设备静音,则必须
- 以不受以下因素影响的方式保持静音状态:
- 打开和关闭设备。
- 切换到其他输入设备。
音频延迟
延迟时间
- 输出延迟
- 在用户执行某项操作后,音频播放必须在 500 毫秒以内开始
开始播放。
- 如果设备 OEM 可证明没有回声,则可以申请豁免 会在不符合此要求时引入。
- 在用户执行某项操作后,音频播放必须在 500 毫秒以内开始
开始播放。
A/V 同步
- 音频播放应与视频播放同步。音频播放可能比视频提前 ≤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 规范。 |