可聽式裝置控制

快速配對的智慧耳機控制項旨在為 Android 裝置提供更完善的存取控制選項,方便使用者操作重要的智慧耳機功能。為此,我們在「Message Stream」中新增了「Hearable controls」訊息群組。

訊息群組名稱
可聽式裝置控制 0x08

主動噪音控制

主動噪音控制功能已成為高階耳機的熱門功能。在 Seeker 端,快速配對會提供 UI 和邏輯,用於設定、取得及儲存狀態,而狀態會儲存在 Provider 端。事件串流連線時,供應商必須傳送工作階段隨機值。為達成這個目的,系統定義了下列訊息代碼:

訊息產品代號 寄件者 作答者 MAC ACK
取得 ANC 狀態 0x11 Seeker 供應商
設定 ANC 狀態 0x12 Seeker 供應商
通知 ANC 狀態 0x13 供應商 Seeker

當 Seeker 連線至 Provider,或 Provider 收到「Get ANC state」訊息時,Provider 可以通知 ANC 狀態,讓 Seeker 瞭解 ANC 功能和儲存的狀態。訊息如下:

Byte 資料類型 說明
0 uint8 可聽式裝置控制 0x08
1 uint8 通知 ANC 狀態 0x13
2 - 3 uint16 額外資料長度 0x04
4 - 7 ANC 控制資料 因人而異
ANC 控制資料
Byte 資料類型 說明
0 uint8 版本代碼 因版本而異,0x02 (適用於這個版本)
1 旗幟 UI 切換開關
每個模式會根據其旗標位元的值啟用 (1) 或停用 (0),如下所示:
位元 0 (MSB):透明
位元 1:自動調整 (或 0,如果系統不支援)
位元 2:關閉
位元 3:保留 (將位元設為 0)
位元 4:ANC
因人而異
2 旗幟 可設定的切換按鈕
您也可以在這裡設定上述任何或所有 UI 切換位元,指出目前啟用的位元。
因人而異
3 旗幟 目前狀態
只能設定一個位元,且這個位元組的值不得為零。
因人而異

Seeker 會根據 ANC 控制資料顯示切換 UI。

範例 1:供應商支援 3 向 ANC:透明 - 關閉 - ANC,且耳機戴在頭上,所有模式現在都可設定,目前狀態為關閉:

Byte 資料類型 說明
0 uint8 版本代碼 0x01
1 旗幟 UI 切換按鈕 0b10101000
2 旗幟 可設定的切換按鈕 0b10101000
3 旗幟 目前狀態 0b00100000

範例 2:供應商支援 3 向 ANC:透明 - 關閉 - ANC,現在只有一個耳機戴在頭上,或沒有耳機戴在頭上,因此無法設定任何模式,目前狀態為關閉:

Byte 資料類型 說明
0 uint8 版本代碼 0x01
1 旗幟 UI 切換 0b10101000
2 旗幟 可設定的切換鈕 0b00000000
3 旗幟 目前狀態 0b00100000

如果使用者切換切換鈕,Seeker 會將目前狀態設為 Provider,如下所示:

Byte 資料類型 說明
0 uint8 可聽式裝置控制 0x08
1 uint8 設定 ANC 狀態 0x12
2 - 3 uint16 額外資料長度 因情況而異、0x04 或 0x14
4 uint8 Seeker 版本代碼 不一,0x01 或 0x02
5 旗幟 可設定的 ANC 模式 (UI 切換) 因人而異
6 旗幟 已啟用主動降噪模式 (可設定切換) 因人而異
7 旗幟 新的 ANC 模式索引 (新狀態) 因人而異
8 - 23 預留 因人而異

第 4 到第 7 個位元組實際上是從 Seeker 端傳送的 ANC 控制資料。如果額外長度值設為 0x14,系統會提供保留的位元組 8-23,但供應商收到這些位元組時應忽略。如果額外長度值設為 0x04,則沒有保留的位元組。

當供應商收到「設定 ANC 狀態」訊息時,應確認,並通知所有已連線的搜尋者 ANC 狀態。如果使用者透過頭戴式裝置手勢或隨附應用程式變更設定,Provider 也應將通知傳送給所有已連線的 Seeker。

範例 3:供應商支援 4 向 ANC:透明 - 自動調整 - 關閉 - ANC,耳機戴在頭上,所有模式現在都可設定,目前狀態為自動調整:

Byte 資料類型 說明
0 uint8 版本代碼 0x01
1 旗幟 UI 切換 0b11101000
2 旗幟 可設定的切換鈕 0b11101000
3 旗幟 目前狀態 0b01000000