助听器
快速配对中的助听器控件旨在为 Android 上的重要助听器功能提供更好的访问权限控制。为此,需要在 Message Stream 中添加新的消息组 Hearable 控件。
消息群组名称 | 值 |
---|---|
听觉控制 | 0x08 |
主动降噪
主动降噪正在成为高级耳机的一项重要功能。在搜寻者端,快速配对将具有用于设置、获取和保存状态的界面和逻辑,并且状态将存储在提供程序端。在连接事件流后,提供程序必须发送 Session Nonce。为此,我们定义了以下消息代码:
信息代码名称 | 值 | 发件人 | 回复者 | MAC | ACK |
---|---|---|---|---|---|
获取主动降噪状态 | 0x11 | 追逐者 | 提供方 | 北 | 北 |
设置主动降噪状态 | 0x12 | 追逐者 | 提供方 | 是 | 是 |
通知主动降噪状态 | 0x13 | 提供方 | 追逐者 | 北 | 北 |
当查找器连接到提供程序时,或提供程序收到“获取 ANC 状态”消息时,提供程序可以通知 ANC 状态,让查找器知道其 ANC 功能和存储状态。该消息如下所示:
Byte | 数据类型 | 说明 | 值 |
---|---|---|---|
0 | uint8 | 听觉控制 | 0x08 |
1 | uint8 | 通知主动降噪状态 | 0x13 |
2-3 个 | uint16 | 额外的数据长度 | 0x04 |
4-7 个 | ANC 控制数据 | 不固定 |
主动降噪控制数据
Byte | 数据类型 | 说明 | 值 |
---|---|---|---|
0 | uint8 | 版本代码 | 对于此版本,各不相同,0x02 |
1 | 标志 | 界面切换开关 每种模式都会根据其标志位的值启用 (1) 或停用 (0),如下所示: 位 0 (MSB):透明 位 1:预留(将位设为 0) 位 2:关闭 位 3:预留(将位设为 0) 位 4:ANC |
不固定 |
2 | 标志 | 可设置的切换开关 也可以在此处设置上述任何或全部界面切换位,以指明当前已启用的切换开关。 |
不固定 |
3 | 标志 | 当前状态 只能设置一个位 |
不固定 |
搜寻者会根据主动降噪控制数据显示切换界面。
示例 1:提供商支持三路主动降噪:透明 - 关闭 - 主动降噪和耳机为头戴式,所有模式现在均可设置,并且当前状态为关闭:
Byte | 数据类型 | 说明 | 值 |
---|---|---|---|
0 | uint8 | 版本代码 | 0x01 |
1 | 标志 | 界面切换开关 | 0b10101000 |
2 | 标志 | 可设置的切换开关 | 0b10101000 |
3 | 标志 | 当前状态 | 0b00100000 |
示例 2:提供程序支持 3 路主动降噪:透明 - 关闭 - 主动降噪,现在只有一侧耳机或没有耳机是头戴式耳机,因此没有任何模式可设置,并且当前状态为关闭:
Byte | 数据类型 | 说明 | 值 |
---|---|---|---|
0 | uint8 | 版本代码 | 0x01 |
1 | 标志 | 界面切换 | 0b10101000 |
2 | 标志 | “可设置”切换开关 | 0b00000000 |
3 | 标志 | 当前状态 | 0b00100000 |
如果用户切换切换开关,Seeker 会将当前状态设置为 Provider,如下所示:
Byte | 数据类型 | 说明 | 值 |
---|---|---|---|
0 | uint8 | 听觉控制 | 0x08 |
1 | uint8 | 设置主动降噪状态 | 0x12 |
2-3 个 | uint16 | 额外的数据长度 | 不固定,0x04 或 0x14 |
4 | uint8 | Seeker 版本代码 | 不固定,0x01 或 0x02 |
5 | 标志 | 可设置主动降噪模式(界面切换) | 不固定 |
6 | 标志 | 主动降噪模式已启用(可设置切换开关) | 不固定 |
7 | 标志 | 新主动降噪模式索引(新状态) | 不固定 |
8 - 23 人 | 预留字符 | 不固定 |
字节 4-7 实际上是从搜寻程序端发送的 ANC 控制数据。如果额外长度值设置为 0x14,则预留的字节 8-23 将存在,并且在收到这些字节时,提供程序应忽略它们。如果额外长度值设置为 0x04,则不存在预留字节。
当提供程序收到“设置 ANC 状态”消息时,应确认并向所有连接的查找器通知 ANC 状态。如果用户通过耳机手势或配套应用更改此设置,提供程序还应向所有已连接的搜寻者发送通知。