可穿戴式裝置控制

Fast Pair 的穿戴式裝置控制項旨在為 Android 上的重要穿戴式裝置功能提供更完善的存取控制選項。為達成這項目標,我們已在「Message Stream」中新增了 Hearable 訊息群組控制項。

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

主動噪音控制

主動噪音控制功能已成為高階耳機的一大特色。在 Seeker 端,Fast Pair 會提供 UI 和邏輯來設定、取得及儲存狀態,而狀態則會儲存在 Provider 端。事件串流連線時,提供者必須傳送工作階段 Nonce。為達成這項目標,我們定義了下列訊息代碼:

訊息代碼名稱 寄件者 作答者 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 控制資料
Byte 資料類型 說明
0 uint8 版本代碼 varies,此版本為 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 種主動降噪模式:透明 - 關閉 - 主動降噪,目前只有一個耳機在頭上,或沒有耳機在頭上,因此無法設定任何模式,且目前狀態為關閉:

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

如果使用者切換切換鈕,Seeker 會將目前狀態設為以下提供者:

Byte 資料類型 說明
0 uint8 可穿戴式裝置控制 0x08
1 uint8 設定 ANC 狀態 0x12
2 到 3 uint16 額外資料長度 可能為 0x04 或 0x14
4 uint8 Seeker 版本代碼 會有所不同,可能是 0x01 或 0x02
5 旗幟 可設定的主動降噪模式 (UI 切換按鈕) 視情況而定
6 旗幟 啟用 ANC 的模式 (可設定的切換鈕) 視情況而定
7 旗幟 新的 ANC 模式索引 (新狀態) 視情況而定
8 - 23 預留 視情況而定

位元組 4 到 7 實際上是從 Seeker 端傳送的 ANC 控制資料。如果額外長度值設為 0x14,系統會顯示保留位元組 8 到 23,而當提供者收到這些位元組時,應予以忽略。如果額外長度值設為 0x04,則不會顯示任何保留位元組。

供應器收到「Set ANC state」訊息時,應確認,並將 ANC 狀態通知給所有已連結的 Seeker。如果使用者透過耳機手勢或隨附應用程式變更設定,供應端也應向所有已連結的 Seeker 傳送通知。