音訊自動切換

隨著使用者越來越常使用多個音訊來源裝置, 現代人需要更簡便的耳機管理解決方案 跨裝置使用。音訊自動切換功能可流暢地轉換耳機連線 根據使用者活動 (例如開始播放電影) 區分裝置與優先顯示 事件 (例如來電)。

使用者體驗原則

  1. 連線切換應該要能快速切換,並以使用者動作為依據。
  2. 連線切換功能應公開透明,讓使用者能 如果不想切換,則可控制/復原
  3. 改用 Pixel 時應尊重使用者隱私。

角色

尋找音訊自動切換器:探索工具是音訊來源裝置 (例如 手機或平板電腦),尋找鄰近的耳機以連線 (如適用)。

音訊切換供應商:供應商通常是用耳機宣傳自家的 是否存在與連線狀態,方便尋找者做出換機決定。

條件總覽

為實現智慧切換,供應商必須遵守下列規定:

名稱 說明 需求條件 必要?
掃描頁面 在已有連線時,接受其他 Seeker 傳送的新連結要求。
單一點供應商:
  • 在供應商中斷連線時,原始來源裝置會自動暫停播放音訊。
多點供應商:
  • 如果仍有可用的連線,系統便會接受連線要求。
  • 如果連線頻寬已滿,請中斷最近使用的連線 (例如很長一段時間沒有音訊事件),然後接受新的傳入要求。
您必須使用低延遲頁面掃描模式 (掃描間隔時間不得超過 640 毫秒),才能提升效能。
在大多數情況下,供應商可設定預設網頁掃描模式,在電池續航力和切換效能之間做出取捨 (低耗電模式的掃描間隔不得大於 1280 毫秒)。但只有在下列情況中,才能使用低延遲模式:
  • 前 30 秒電源開啟
  • 前 30 秒沒有連線或分頁
  • 裝置閒置前 30 秒
必填
連線記錄 如何切回上一個連線並繼續播放 (如適用)。
訊息串流會透過 Message Stream API 啟動並繼續播放。
暫停的音訊事件應包含在記錄中,以便視情況繼續播放。
保留連線記錄並實作 Message Stream API。 必填
連線狀態 可讓尋求者進行連線切換判斷。連線狀態包括:
  • 連線狀態
  • 有效連線的音訊類型
  • 有效連線的帳戶資訊
  • 已連結的裝置
在 BLE 廣播和 Message Stream 中加入連線狀態。 必填
執行階段功能變更 透過升級供應器的韌體即可啟用音訊自動切換功能,因此這項功能必須在執行階段與 Seeker 和供應商之間保持同步。 實作 Message Stream API 以便存取執行階段功能。 必填
可設定的切換規則 讓 Seeker 透過使用者偏好設定,設定現有有效音訊串流和新音訊串流要求的優先順序。
例如,音訊切換器可能會提供 UI 設定,讓使用者啟用/停用媒體串流和通話服務的自動切換功能。
音訊自動切換功能可讓 Seeker 透過訊息串流設定及取得切換規則。
僅限多點供應商。
實作 Message Stream API 以設定已連線裝置之間的切換規則。
選用
使用中的裝置正在切換 讓「音訊自動切換工具」模擬各種連網裝置切換音訊的情況。
在音訊自動切換工具側,使用者可能會看見使用者介面,方便你在已連結的裝置之間切換。
僅限多點連線供應商。
為音訊切換器實作 Message Stream API,以便判斷連接裝置之間的音訊來源。
必填
多點切換通知 讓音訊自動切換器顯示切換通知。 僅限多點連線供應商。
實作 Message Stream API,以便在進行多點切換時,通知已連線的音訊切換裝置尋求者。
必填

廣告酬載

供應商應在廣告中加入目前的連線狀態, 以如 廣告:不易找到

請注意,表格 4.2 的版本為 0x1。

連線狀態欄位

八位元 資料類型 說明 必要?
0 uint8 欄位長度和類型
0bLLTTTT
  • L = 連線狀態長度 (以位元組為單位)
  • T = 類型
0bLL0101
  • 長度:不定
  • 類型 = 0b0101
必填
1 uint8 連線狀態
0bHAFRSSSS
  • H = 已開啟頭部偵測
  • A = 是否提供連線
  • F = 聚焦模式
  • R = 已自動重新連線
  • S = 連線狀態
0bHAFRSSSS
必填
2 uint8 自訂資料
目前僅包含用於說明目前音訊串流用途的內容類型。尋求者會將資訊傳送給供應商。
這個值會透過訊息串流,從目前進行中的串流探索者傳送。如果目前的串流並非來自 Seeker,則為 0。 必填
3 - var 已連結的裝置點陣圖
點陣圖會顯示目前與供應商連線的裝置。所有綁定裝置都會按照順序排列,為一種綁約裝置有一個位元。長度取決於供應商的簽約裝置數量。
如果裝置目前已連線至供應器,則對應的位元會設為 1,否則對應位元會設為 0。
詳情請參閱「已連接的裝置點陣圖
選用

表 4.1:連線狀態欄位原始資料

連線旗標
  • 0bH = 偵測到頭部偵測

    • 1,目前播映
    • 0,否則代表頭部沒有,或是沒有 OHD 感應器
  • 0bA = 連線可用性

    • 1,有可用的連線
    • 0,否則為
  • 0bF = 聚焦模式

    • 1 (目前處於專注模式),系統無法切換媒體的連線 也就是不從 A2DP 切換 A2DP
    • 0,否則為
  • 0bR = 自動重新連線

    • 1,如果「供應商」已自動重新連線目前的連線,則 而未由使用者連結 (若為多點連線, 個連線已自動重新連線,應設為 1)
    • 0,否則為
連線狀態
  • 0x0:沒有連線
  • 0x1:分頁
  • 0x2:已連線但尚未轉移資料
  • 0x3:非音訊資料傳輸 (僅適用於可切換音訊,如果不能,則使用 0xF)
  • 0x4:A2DP 串流、AVRCP 不適用
  • 0x5:A2DP 串流和 AVRCP 播放
  • 0x6:HFP (電話/VIP 通話) 串流,包括頻帶和非頻帶鈴聲
  • 0x7:LE 音訊 - 媒體串流 (不控制)
  • 0x8:LE 音訊 - 媒體串流 (含操控)
  • 0x9:LE 音訊 - 通話串流
  • 0xA:LE Audio - 廣播
  • 0xF:暫時停用連線切換鈕 (例如韌體更新)
LE Audio 情境類型與連線狀態

建議 LE Audio Provider 處理所有指定的結構定義類型 一節。 指派號碼 6.12.3 (除非供應商明確不支援指定的結構定義類型) 和對應。 連線狀態的結構定義類型,如下所示。

  • 對話:0x9
  • 媒體:0x8
  • 遊戲:0x7
  • 教學內容:0x7
  • 語音助理:0x9
  • 直播:0x9
  • 音效:0x2
  • 通知:0x2
  • 鈴聲:0x9
  • 快訊:0x7
  • 緊急警報:0x9

針對混合 LE Audio 情境類型使用情境,例如:在 呼叫,供應商應使用最高優先順序的連線狀態,即使用 為上述情況使用 0x9 (呼叫),而非 0x8 (媒體)。

已連線裝置的點陣圖

為避免意外切換連線,尋找工具可能需要知道 個裝置目前連線。舉例來說 手機連線至手機時,使用者不希望因手機中斷連線 連線切換。 平板電腦。

請注意,此點陣圖為匿名狀態,因此求職者無法得知其他 與供應商的聯繫。舉例來說,假設有 5 部綁約裝置:

  • 0:筆記型電腦 (0bx0000000)
  • 1:phoneA (0b0x000000)
  • 2: PhoneB (0b00x00000)
  • 3:平板電腦 (0b000x0000)
  • 4:電視 (0b0000x000)

如果目前連結的裝置是筆記型電腦和平板電腦, 點陣圖會是 0b10010000。如果無法避免,修改順序是可接受的 例如:使用者將耳機恢復原廠設定或綁定的裝置計數時 達到上限

隨機可解決的廣告

為避免追蹤並尊重使用者隱私,「供應商」必須旋轉並尊重使用者隱私, 使用 AES-CTR 以帳戶金鑰加密欄位:

 encrypted_connection_status_field = connection_status_raw_data ^ AES(Key, IV)

媒介

  1. 金鑰衍生自使用中的帳戶金鑰, 定義請見下一節

    • 金鑰是由 HKDF 函式 IETF RFC 5869 使用 SHA-256 產生 雜湊函式。

        Key = HKDF(account_key, NULL, UTF8("SASS-RRD-KEY"),16)
      
    • 提供者應在此使用原始帳戶金鑰,即第一個位元組 的鍵為 0x04,不包含在使用模式中。

  2. IV (初始向量) 是「帳戶金鑰資料」的 2 位元組鹽 邊框間距,即 IV 是 concat(salt,14 個位元組)

  3. 連線狀態原始資料定義於表 4.1,如果 連線狀態變更時,請在此重新產生鹽和 RPA。 不同的廣告時間範圍

如此一來,加密連線狀態欄位就會與 「帳戶金鑰資料」會輪替。

BLE 廣告的結構如下:

八位元 資料類型 說明 必要?
0 uint8 版本和標記 0x10 必填
1 至 t 帳戶金鑰資料 各不相同 必填
t+1 - S 電池資料 各不相同 選用
s+1 - var 可隨機回報的資料 各不相同 如果帳戶金鑰清單並非空白,就必須指定此欄位,
否則即排除。

表 4.2:使用隨機無法解決資料的 BLE 廣告

隨機可撤銷的資料包含:

八位元 資料類型 說明 必要?
0 uint8 欄位長度和類型
0bLLTTTT
  • L = 加密資料的長度
  • T = 類型
0bLL0110
  • 長度:不定
  • 類型 = 0b0110
必填
1 - var 加密資料 各不相同 必填

表 4.2.1:隨機可解決的資料

舉例來說,如果隨機可解析資料包含加密連線, status 欄位,解密的結果會是 連線狀態欄位

為避免遭到竄改,請稍微修改上方的「帳戶金鑰資料」 當廣告包含「隨機可解決資料」時。正常情況下, 建立帳戶金鑰篩選器時,合併帳戶即可產生 V 值 加鹽的鍵篩選器相反地,「隨機可解析資料」 V 值應建構為:

 V = concat(account_key, salt, random_resolvable_data)

如果廣告同時宣傳「電池資料」和「隨機可解決的資料」,V 應 建構為:

 V = concat(account_key, salt, battery_data, random_resolvable_data)

使用中的帳戶金鑰

連線切換是以帳戶為準,因此供應商應加入 目前連線在 BLE 廣告中的帳戶資訊。如果 「目前的連結裝置」是音訊自動切換器,供應商可以 取得與此 Seeker 關聯的帳戶金鑰,並使用這組帳戶金鑰 加密連線狀態欄位。如果連線的音訊來源為非音訊 切換器,供應商應使用最近使用的帳戶金鑰。

在計算帳戶金鑰篩選器之前,供應商應修改第一個 帳戶金鑰的位元組,以在使用模式中包括下列其中一個值:

  1. 0b00000100
    這個帳戶金鑰已停止使用。
    此為預設值 (請參閱「帳戶金鑰」)。
  2. 0b00000101
    這組帳戶金鑰是最近使用的帳戶金鑰。
    連線狀態欄位是以這組帳戶金鑰加密。由於沒有 目前連線狀態的帳戶金鑰資訊,可能表示 連線的裝置或連結的裝置不是音訊自動切換器。
  3. 0b00000110
    這個帳戶金鑰為使用中的帳戶金鑰。
    連線狀態欄位會以這組帳戶金鑰加密, 已連結裝置已與這組帳戶金鑰建立關聯。
,瞭解如何調查及移除這項存取權。

音訊切換酬載的結構定義

下圖顯示音訊切換酬載的結構定義。

訊息

連線後,求職者和供應商可以使用訊息串流同步處理音訊 切換功能, 觸發連線切換作業, 設定及啟動 偏好設定、通知連線狀態等等。我們建立訊息群組 音訊自動切換專用的訊息代碼,如下所示。

訊息群組名稱
音訊切換 0x07

各簡訊代碼的其他詳細資料列於以下章節。

訊息代碼名稱 僅限多點連線 寄件者 作答者 加密 MAC 確認
取得音訊自動切換的功能 0x10 兩者皆有 兩者皆透過程式碼 0x11
音訊自動切換功能的發出通知 0x11 兩者皆有 兩者皆有
設定多點狀態 0x12 追求者 供應商
調整切換偏好設定 0x20 追求者 供應商
接收切換偏好設定 0x21 追求者 供應商 (透過代碼 0x22)
通知切換偏好設定 0x22 供應商 追求者
切換使用中的音訊來源(已連接的裝置) 0x30 追求者 供應商
切換回舊版介面 0x31 追求者 供應商
通知多點切換事件 0x32 供應商 追求者
取得連線狀態 0x33 追求者 供應商 (透過代碼 0x34 傳送)
通知連線狀態 0x34 供應商 追求者
通知音訊切換啟動連線 0x40 追求者 供應商
表示使用中的帳戶金鑰 0x41 追求者 供應商
傳送自訂資料 0x42 追求者 供應商
設定放置連線目標 0x43 追求者 供應商

表 4.3:音訊自動切換訊息

音訊切換 MAC 訊息

為提供訊息驗證,所有音訊自動切換訊息都會包含額外 從 Seeker 傳送至供應商的資料需要 訊息驗證碼。時間 接收 MAC 的訊息時,應經過確認,以便尋求工具 得知「供應商」是否已回應訊息。

如果訊息驗證成功,供應商就必須為 訊息:

八位元 資料類型 說明
0 uint8 確認聲明 0xFF
1 uint8 確認 0x01
2 - 3 uint16 額外資料長度 各不相同
4 uint8 音訊切換 0x07
5 uint8 音訊切換訊息代碼 各不相同
6 - 額外資料 各不相同

如果失敗,「供應商」應傳送訊息的 NAK:

八位元 資料類型 說明
0 uint8 確認聲明 0xFF
1 uint8 北美洲 0x02
2 - 3 uint16 額外資料長度 0x0003
4 uint8 錯誤原因 各不相同
5 uint8 音訊切換 0x07
6 uint8 音訊切換訊息代碼 各不相同

請注意,如果「供應商」為傳送者,就不需要使用 MAC。

取得音訊自動切換的功能

音訊切換供應商和探索者都能檢查已連線的快速配對 瀏覽器/供應商支援音訊切換功能,或不支援使用下列訊息:

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 取得音訊自動切換的功能 0x10
2 - 3 uint16 額外資料長度 0

表 4.3.1.0:取得音訊自動切換的功能

音訊自動切換功能的通知

收到 音訊自動切換訊息後 程式碼,音訊自動切換工具/供應商將以下列其中一個值回應 旗標:

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 音訊自動切換功能的通知 0x11
2 - 3 uint16 額外資料長度 如果由 Seeker 傳送,則為 20
4
4 - 5 uint16 音訊切換版本代碼 如果值不是零,表示支援音訊自動切換。目前的版本 (含有安全性強化功能) 代碼為 0x0102。
0x0000 或未在 1 秒內回應,表示這部裝置不支援音訊自動切換
6 - 7 flags 提供者的音訊切換功能旗標
如果透過 Seeker 傳送這則訊息,請忽略這兩個位元組。
不相同
請參閱音訊切換功能旗標
8 - 15 訊息 Nonce
只有尋找人傳送這則訊息時
各不相同
16 - 23 歲 訊息驗證碼
只有 Seeker 傳送這項資訊時才需要
各不相同

表 4.3.1.1:音訊自動切換的發出通知功能

音訊切換功能旗標
  1. 位元 0 (八位元 6、MSB):音訊切換狀態

    • 1,如果音訊自動切換狀態已開啟
    • 0,否則為
  2. 位元 1:多點設定

    • 1,如果裝置支援多點連線,可以切換為開啟和 關閉
    • 0,否則 (不支援多點或一律開啟多點連線)
  3. 位元 2:多點目前狀態

    • 1 (如果多點已開啟)
    • 0,否則為
  4. 位元 3:腕上偵測

    • 1,如果這部裝置支援抬頭偵測,即使「前臂偵測」功能 正在關閉)
    • 0,否則為
  5. 位元 4:抬頭偵測目前狀態

    • 1 (如果已開啟抬頭偵測功能)
    • 0,否則 (不支援站上偵測或站上偵測為 已停用)
  6. 其他位元均保留,預設值為 0。

設定多點狀態

使用音訊自動切換器時,我們可能會提供使用者開啟或關閉設定 多點功能尋找工具會將多點狀態設為 供應商使用下列訊息:

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 設定多點狀態 0x12
2 - 3 uint16 額外資料長度 17
4 uint8 多點狀態 0:關閉多點連線
1:開啟多點連線
5 - 12 訊息 Nonce 各不相同
13 - 20 人 訊息驗證碼 各不相同

表 4.3.1.2:設定多點狀態

指定切換偏好設定

使用音訊自動切換器的使用者可以修改多點連線的切換偏好設定 將下方的訊息傳送給「供應商」:

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 指定切換偏好設定 0x20
2 - 3 uint16 額外資料長度 18
4 flags 切換偏好設定 各不相同
請參閱多點切換偏好設定標記
5 進階切換設定
已保留這個位元組,預設值為 0
各不相同
6 - 13 訊息 Nonce 各不相同
14 - 21 歲 訊息驗證碼 各不相同

表 4.3.2.0:設定切換偏好設定

多點切換偏好設定旗標
  • 位元 0 (MSB):A2DP 與 A2DP (預設為 0)
  • 位元 1:HFP 與 HFP (預設值為 0)
  • 位元 2:A2DP 與 HFP (預設值為 0)
  • 位元 3:HFP 與 A2DP (預設為 1)
  • 位元 4 - 7:保留
  • 上方代表「新的個人資料要求」與「目前使用中的設定檔」相比
    • 0 代表不切換
    • 1 代表切換

取得切換偏好設定

使用音訊自動切換器的聽眾可以查詢多點連線的切換偏好設定 供應商使用下列訊息:

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 取得切換設定 0x21
2 - 3 uint16 額外資料長度 0

表 4.3.2.1:取得切換偏好設定

通知切換偏好設定

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 通知切換偏好設定 0x22
2 - 3 uint16 額外資料長度 2
4 flags 切換偏好設定標記 各不相同
請參閱多點切換偏好設定標記
5 進階切換設定
已保留這個位元組,預設值為 0
各不相同

表 4.3.2.2:通知切換偏好設定

切換使用中的音訊來源 (連線至已連接的裝置)

使用音訊自動切換器的使用者可要求多點供應商切換啟用狀態 要在已連線裝置間切換音訊來源,輸入如下訊息:

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 切換使用中的音訊來源 (連線至已連接的裝置) 0x30
2 - 3 uint16 額外資料長度 17
4 flags 切換使用中的音訊來源事件旗標 不相同
請參閱切換有效音訊來源事件
5 - 12 訊息 Nonce 各不相同
13 - 20 人 訊息驗證碼 各不相同

表 4.3.3.0:切換使用中的音訊來源 (連線至已連結的裝置)

正在切換有效音訊來源事件
  • 位元 0 (MSB):1 次切換到這部裝置,0 人切換到第二部連接的裝置
  • 位元 1:切換後繼續在「切換到」裝置上播放,否則為 0。 繼續播放表示供應商傳送 PLAY 通知給尋找器 連線。如果先前的狀態 (切換前) 未 PLAY,供應商應忽略這個標記。
  • 位元 2:1 拒絕使用已切換裝置後的總持有成本,否則為 0
  • 位元 3:1 中斷與切換鈕裝置的藍牙連線,0 部。
  • 位元 4 - 7:保留。

使用音訊自動切換功能的使用者不一定知道自己的狀態,因此有可能 ,讓供應商收到「切換至這部裝置」訊息 開啟中。在此情況下,如要在尋找工具中顯示正確的 UI, 供應商可以傳送含有錯誤原因 0x4 - 多餘裝置動作的 NAK。

如果 LE Audio Provider 有多位集合成員,供應商應 中斷與 Seeker 的所有成員連線,否則 探險家將重新連線到供應商。

切換回未連線的裝置

如果不需要切換連線,使用者可以還原切換,並 此時,重新播放音訊是很明智的選擇 服務中斷求職者會使用下方訊息觸發切換程序:

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 切換回未連線的裝置 0x31
2 - 3 uint16 額外資料長度 17
4 uint8 切換回事件 varies
0x01:切換回
0x02:切換回舊版並繼續播放
5 - 12 訊息 Nonce 各不相同
13 - 20 人 訊息驗證碼 各不相同

表 4.3.3.1:切換回已中斷連線的裝置

對多點供應商來說,進行連線切換時,供應商可能會捨棄 連線到其中一個音訊來源裝置,然後暫停另一部音訊來源裝置的音訊工作階段 音訊來源。舉例來說,假設多點耳機已連線至 平板電腦和第 3 部支援的音訊自動切換裝置使用者正在透過 手機接到來電時。手機會觸發 耳機上的連線開關,需要捨棄第 3 部裝置 連線,以便連線至手機,同時暫停媒體 才能從手機取得鈴聲。如果使用者拒絕 通話,手機可能會要求耳機「切換回舊或繼續播放」。 收到這項要求後,耳機必須重新連接到第 3 部裝置,並且 透過平板電腦繼續播放已暫停的影片。

通知多點切換事件

為協助使用者瞭解多點切換事件發生,音訊自動切換功能 探索者可能會向使用者顯示通知。供應商應通知已連線 透過音訊自動切換功能尋找關於切換事件的資訊。

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 通知多點切換事件
提供者應在每次切換時傳送通知,包括從音訊切換器切換至非音訊自動切換器、非音訊自動切換器,以及音訊切換裝置尋求「音訊切換器」的使用者
0x32
2 - 3 uint16 額外資料長度 各不相同
4 uint8 切換原因
應根據連線狀態決定這個值。如果是 LE Audio 用途,建議查看 LE Audio 情境類型與連線狀態之間的對應資訊。舉例來說,與語音助理對應的連線狀態為 0x9(LE 音訊 - 通話串流)。因此,改用語音助理啟動切換的原因應為 0x02。
變動
0x00:未指定
0x01:媒體 (例如 A2DP 串流、LEA 媒體串流)
0x02:通話 (例如 HFP 串流、LEA 通話串流)
5 uint8 目標裝置 變動
0x01:這部裝置
0x02:另一部已連結的裝置
6 - n utf8 目標裝置名稱:
如果目標裝置是音訊自動切換器,請使用嘗試接收者的名稱。如果不是的話,請使用 BT 名稱;如果不適用,則使用裝置位址的後 2 個位元組
各不相同

表 4.3.3.2:通知多點切換事件

取得連線狀態

探索者可以向供應商取得目前的連線狀態:

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 取得連線狀態 0x33
2 - 3 uint16 額外資料長度 0

表 4.3.3.3:取得連線狀態

收到這則訊息後,「供應商」應以訊息代碼做出回應 0x34, 通知連線狀態

通知連線狀態

如 BLE 廣告酬載中定義, 多點供應商,如果連線狀態變更,但不包括變更 廣告封包,供應商也應通知已連線的廣告主, 使用同一個帳戶金鑰進行變更。如果供應商已連線 使用音訊自動切換器,以及使用非音訊自動切換器 (如果非音訊廣告) 切換 Seeker 已啟用,供應商也應通知連線的音訊 切換探索工具關於連線狀態的資訊 (使用尋求者的帳戶金鑰)。

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 通知連線狀態 0x34
2 - 3 uint16 額外資料長度 各不相同
4 uint8 使用中的裝置標記 varies
0x00:這位尋找者是被動式裝置,且正在使用相同帳戶金鑰
0x01:這位尋找者是使用中的裝置
0x02:這位尋找者是被動裝置,而使用中的裝置並非音訊自動切換器。
5 - n 加密連線狀態 各不相同
n+1 - n+8 訊息 Nonce 各不相同

表 4.3.3.4:通知連線狀態

加密連線狀態訊息

 encrypted_connection_status = connection_status_raw_data ^ AES(Key, IV)

其中:

通知音訊切換啟動連線

音訊自動切換供應商可能需要知道連線切換是否觸發 音訊自動切換功能會產生不同的回應,例如停用音效。 切換事件。尋求者會傳送訊息給供應商 是透過音訊自動切換啟動的連線。

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 通知音訊切換啟動連線 0x40
2 - 3 uint16 額外資料長度 17
4 uint8 音訊自動切換啟動的連線指標 變動
0:這個連線並非由音訊自動切換器觸發
1:這是音訊自動切換發起的連線
5 - 12 訊息 Nonce 各不相同
13 - 20 人 訊息驗證碼 各不相同

表 4.3.4.0:通知音訊自動切換啟動的連線

表示使用的帳戶金鑰

如果跳轉器上的多個帳戶 (例如多使用者) 與 供應商時,求職者會使用下方訊息來指出哪個帳戶 金鑰正在使用中。

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 表示使用的帳戶金鑰 0x41
2 - 3 uint16 額外資料長度 22
4 - 9 utf8 使用字串 UTF8 (「使用中」)
10 - 17 歲 訊息 Nonce 各不相同
18 - 25 歲 訊息驗證碼 各不相同

表 4.3.4.1:說明使用中帳戶金鑰

收到這則訊息後,供應商可知道目前使用哪個帳戶金鑰 以驗證訊息驗證碼。

傳送自訂資料

使用中的音訊自動切換器可以封裝資訊 (例如音訊) ),再透過 以下訊息:

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 傳送自訂資料 0x42
2 - 3 uint16 額外資料長度 17
4 uint8 自訂資料 各不相同
5 - 12 訊息 Nonce 各不相同
13 - 20 人 訊息驗證碼 各不相同

表 4.3.4.2:傳送自訂資料

收到自訂資料後,供應商會更新廣告封包 納入自訂資料如果是多點供應商,也應通知 連線狀態變更為另一個已連線的 Seeker (使用相同帳戶金鑰)。

設定放置連線目標

在多點耳機上,如果放置的偏好連線不是 最近至少有使用過的裝置;透過音訊自動切換器,供應商可以告訴供應商是哪一部裝置 捨棄訊息:

八位元 資料類型 說明
0 uint8 音訊切換 0x07
1 uint8 設定放置連線目標 0x43
2 - 3 uint16 額外資料長度 17
4 uint8 要捨棄的目標裝置 不相同
1:這部裝置
5 - 12 訊息 Nonce 各不相同
13 - 20 人 訊息驗證碼 各不相同

表 4.3.4.3:設定放置連線目標

參考實作

請參閱 附近內嵌的 SDK 程式庫」,瞭解如何實作