สลับอุปกรณ์เสียง

เนื่องจากผู้ใช้หันมาใช้อุปกรณ์แหล่งเสียงที่หลากหลายมากขึ้นในการดำเนินงาน ความต้องการโซลูชันการจัดการชุดหูฟังที่ง่ายขึ้น ใช้งานในอุปกรณ์ต่างๆ การสลับอุปกรณ์เสียงช่วยเปลี่ยนการเชื่อมต่อชุดหูฟังได้อย่างราบรื่น ระหว่างอุปกรณ์ตามกิจกรรมของผู้ใช้ (เช่น การเริ่มดูภาพยนตร์) และการจัดลำดับความสำคัญ กิจกรรม (เช่น สายเรียกเข้า)

หลักการ UX

  1. การเปลี่ยนการเชื่อมต่อควรรวดเร็วและขึ้นอยู่กับการดำเนินการของผู้ใช้
  2. การเปลี่ยนการเชื่อมต่อควรเปิดเผยต่อผู้ใช้ ทำให้ผู้ใช้ดำเนินการต่อไปนี้ได้ ควบคุม/เปลี่ยนกลับหากการเปลี่ยนเป็นที่ไม่พึงประสงค์
  3. การเปลี่ยนควรเคารพความเป็นส่วนตัวของผู้ใช้

บทบาท

ตัวค้นหาสวิตช์เสียง: Seeker คืออุปกรณ์แหล่งที่มาของเสียง (ตัวอย่างเช่น โทรศัพท์หรือแท็บเล็ต) โดยกำลังมองหาชุดหูฟังที่อยู่ใกล้เคียงเพื่อใช้เชื่อมต่อ (หากมี)

ผู้ให้บริการสลับเสียง: โดยปกติผู้ให้บริการจะเป็นชุดหูฟังที่โฆษณา สถานะการเชื่อมต่อและสถานะการเชื่อมต่อของผู้แสวงหาเพื่อให้ตัดสินใจสลับได้

ภาพรวมของข้อกำหนด

หากต้องการเปลี่ยนอุปกรณ์อัจฉริยะ ผู้ให้บริการต้องปฏิบัติตามข้อกำหนดต่อไปนี้

ชื่อ คำอธิบาย ข้อกำหนด จำเป็นไหม
การสแกนหน้าเว็บ วิธียอมรับคำขอเชื่อมต่อใหม่จาก Seeker รายอื่นเมื่อมีการเชื่อมต่ออยู่แล้ว
สำหรับผู้ให้บริการจุดเดียว ให้ทำดังนี้
  • อุปกรณ์ต้นทางเดิมจะหยุดเล่นเสียงชั่วคราวโดยอัตโนมัติเมื่อผู้ให้บริการตัดการเชื่อมต่อ
สำหรับผู้ให้บริการหลายจุด
  • หากยังมีการเชื่อมต่อที่ใช้ได้ ระบบจะยอมรับคำขอเชื่อมต่อ
  • หากแบนด์วิดท์การเชื่อมต่อเต็ม ให้ยกเลิกการเชื่อมต่อการเชื่อมต่อที่ใช้งานล่าสุด (เช่น ไม่มีกิจกรรมที่มีเสียงเป็นเวลานาน) แล้วยอมรับคำขอใหม่
ต้องมีโหมดสแกนหน้าเว็บที่เวลาในการตอบสนองต่ำ (ช่วงเวลาการสแกนไม่เกิน 640 มิลลิวินาที) เพื่อปรับปรุงประสิทธิภาพ
ผู้ให้บริการสามารถใช้โหมดสแกนหน้าเว็บเริ่มต้นสำหรับกรณีส่วนใหญ่ได้ (โหมดใช้พลังงานต่ำ ช่วงเวลาการสแกนไม่ควรเกิน 1,280 มิลลิวินาที) แต่ต้องใช้โหมดเวลาในการตอบสนองต่ำในสถานการณ์ต่อไปนี้
  • เปิดเครื่อง 30 วินาทีแรก
  • ไม่มีการเชื่อมต่อหรือการแบ่งหน้าในช่วง 30 วินาทีแรก
  • อุปกรณ์ไม่มีการใช้งาน 30 วินาทีแรก
บังคับ
ประวัติการเชื่อมต่อ หากต้องการเปลี่ยนกลับไปใช้การเชื่อมต่อก่อนหน้าและเล่นต่อ (หากมี)
การสื่อสารจะทริกเกอร์การเปลี่ยนกลับผ่าน Message Stream API
คุณควรรวมเหตุการณ์เสียงที่หยุดไว้ชั่วคราวไว้ในบันทึกเพื่อให้กลับมาเล่นต่อได้ (หากมี)
รักษาประวัติการเชื่อมต่อและใช้ Message Stream API บังคับ
สถานะการเชื่อมต่อ สำหรับผู้แสวงหาวิธี พิจารณาการสลับการเชื่อมต่อ สถานะการเชื่อมต่อมีดังต่อไปนี้:
  • สถานะการเชื่อมต่อ
  • ประเภทเสียงของการเชื่อมต่อที่ใช้งานอยู่
  • ข้อมูลบัญชีของการเชื่อมต่อที่ใช้งานอยู่
  • อุปกรณ์ที่เชื่อมต่อ
ระบุสถานะการเชื่อมต่อในโฆษณา BLE และสตรีมข้อความ บังคับ
การเปลี่ยนแปลงความสามารถของรันไทม์ การสลับอุปกรณ์เสียงสามารถเปิดใช้ได้โดยการอัปเกรดเฟิร์มแวร์ในผู้ให้บริการ จึงต้องซิงค์ความสามารถต่างๆ ระหว่าง Seeker และผู้ให้บริการในช่วงรันไทม์ ใช้ Message Stream API เพื่อเข้าถึงความสามารถด้านรันไทม์ บังคับ
กฎการเปลี่ยนที่กำหนดค่าได้ อนุญาตให้ Seeker กำหนดค่าลำดับความสำคัญระหว่างสตรีมมิงเสียงที่ใช้งานอยู่และคำขอสตรีมมิงเสียงใหม่ผ่านการตั้งค่ากำหนดของผู้ใช้
ตัวอย่างเช่น เครื่องมือหาสวิตช์เสียงอาจแสดงการตั้งค่า UI เพื่อให้ผู้ใช้เปิด/ปิดใช้การสลับการสตรีมสื่อและการเรียกใช้โดยอัตโนมัติได้
Seeker การสลับอุปกรณ์เสียงจะตั้งค่าและรับกฎการเปลี่ยนผ่านสตรีมข้อความ
ผู้ให้บริการหลายจุดเท่านั้น
ใช้ Message Stream API เพื่อกำหนดค่ากฎการสลับอุปกรณ์ที่เชื่อมต่อได้
ไม่บังคับ
การเปลี่ยนอุปกรณ์ที่ใช้งานอยู่ ให้ Seeker การสลับอุปกรณ์เสียงจำลองการสลับอุปกรณ์เสียงระหว่างอุปกรณ์ที่เชื่อมต่อ
ในส่วน Seeker การสลับอุปกรณ์เสียงอาจมี UI เพื่อให้ผู้ใช้สลับระหว่างอุปกรณ์ที่เชื่อมต่อได้อย่างง่ายดาย
ผู้ให้บริการหลายจุดเท่านั้น
ใช้ Message Stream API สำหรับ Seeker การสลับเสียงเพื่อระบุแหล่งที่มาของเสียงที่ใช้งานอยู่ระหว่างอุปกรณ์ที่เชื่อมต่อ
บังคับ
การแจ้งเตือนการเปลี่ยนหลายจุด ให้ผู้ค้นหาการเปลี่ยนอุปกรณ์แสดงการแจ้งเตือนการสลับอุปกรณ์ เฉพาะผู้ให้บริการหลายจุด
ใช้ Message Stream API เพื่อแจ้งผู้หาสวิตช์เสียงที่เชื่อมต่อเมื่อมีการเปลี่ยนหลายจุด
บังคับ

เพย์โหลดการโฆษณา

ผู้ให้บริการจะต้องระบุสถานะการเชื่อมต่อปัจจุบันในโฆษณา สร้างขึ้นจากข้อมูลบัญชีจับคู่ด่วนที่อธิบายไว้ใน การโฆษณา: เมื่อค้นพบไม่ได้

โปรดทราบว่าเวอร์ชันของตาราง 4.2 คือ 0x1

ช่องสถานะการเชื่อมต่อ

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า จำเป็นไหม
0 uint8 ความยาวและประเภทของช่อง
0bLLLLTTTT
  • L = ความยาวของสถานะการเชื่อมต่อในหน่วยไบต์
  • T = ประเภท
0bLLLL0101
  • ความยาว: แตกต่างกันไป
  • type = 0b0101
บังคับ
1 uint8 สถานะการเชื่อมต่อ
0bHAFRSSSS
  • H = การตรวจจับศีรษะ
  • A = ความพร้อมใช้งานของการเชื่อมต่อ
  • F = โหมดโฟกัส
  • R = เชื่อมต่อใหม่โดยอัตโนมัติ
  • S = สถานะการเชื่อมต่อ
0bHAFRSSSS
บังคับ
2 uint8 ข้อมูลที่กำหนดเอง
ขณะนี้มีข้อมูลประเภทที่ใช้อธิบายการใช้งานสตรีมมิงเสียงในปัจจุบันเท่านั้น ผู้ค้นหาจะส่งข้อมูลไปยังผู้ให้บริการ
ค่านี้จะส่งจากผู้ค้นหาสตรีมมิงที่ใช้งานอยู่ไปยังผู้ให้บริการผ่านสตรีมข้อความ 0 หากสตรีมมิงที่ใช้งานอยู่ในปัจจุบันไม่ได้มาจาก Seeker บังคับ
3 - var บิตแมปอุปกรณ์ที่เชื่อมต่อ
บิตแมปที่แสดงว่าอุปกรณ์ใดเชื่อมต่อกับผู้ให้บริการอยู่ อุปกรณ์ทั้งหมดที่เชื่อมต่อกันจะมีการจัดเรียงตามลำดับ 1 บิตสำหรับอุปกรณ์ที่เชื่อมติดกัน 1 เครื่อง ระยะเวลาจะขึ้นอยู่กับจำนวนอุปกรณ์ที่มีการผูกมัดของผู้ให้บริการ
บิตที่แมปจะกำหนดเป็น 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 (การโทรของโทรศัพท์/voip) รวมถึงเสียงเรียกเข้าภายในและที่ไม่ใช่ในย่านความถี่
  • 0x7: LE Audio - การสตรีมสื่อโดยไม่มีการควบคุม
  • 0x8: LE Audio - สตรีมมิงสื่อพร้อมการควบคุม
  • 0x9: LE Audio - สตรีมมิงการโทร
  • 0xA: LE Audio - ออกอากาศ
  • 0xF: ปิดใช้สวิตช์การเชื่อมต่อชั่วคราว (เช่น อัปเดตเฟิร์มแวร์)
ประเภทบริบท LE Audio และสถานะการเชื่อมต่อ

แนะนําผู้ให้บริการ LE Audio ควรจัดการบริบททุกประเภทที่ระบุ ใน หมายเลขที่มอบหมาย 6.12.3 (เว้นแต่ผู้ให้บริการจะไม่สนับสนุนประเภทบริบทที่กำหนดอย่างชัดเจน) และแผนที่ ประเภทบริบทเป็นสถานะการเชื่อมต่อดังต่อไปนี้

  • สนทนา: 0x9
  • สื่อ: 0x8
  • เกม: 0x7
  • วิธีการ: 0x7
  • ผู้ช่วยเสียง: 0x9
  • สด: 0x9
  • เอฟเฟกต์เสียง: 0x2
  • การแจ้งเตือน: 0x2
  • เสียงเรียกเข้า: 0x9
  • การแจ้งเตือน: 0x7
  • สัญญาณเตือนฉุกเฉิน: 0x9

สำหรับบริบทประเภท LE Audio แบบผสม เช่น การเล่นสื่อระหว่าง ผู้ให้บริการจะต้องใช้สถานะการเชื่อมต่อที่มีลำดับความสำคัญสูงสุด นั่นคือ 0x9 (การโทร) สำหรับสถานการณ์ด้านบนแทนที่จะเป็น 0x8 (สื่อ)

บิตแมปของอุปกรณ์ที่เชื่อมต่อ

เพื่อหลีกเลี่ยงการเปลี่ยนการเชื่อมต่อที่ไม่พึงประสงค์ ผู้ค้นหาอาจจำเป็นต้องทราบว่า อุปกรณ์ที่ชุดหูฟังเชื่อมต่ออยู่ ตัวอย่างเช่น เมื่อชุดหูฟัง เชื่อมต่อกับโทรศัพท์อยู่ ผู้ใช้จึงไม่ต้องการให้ถูกขัดจังหวะ สลับการเชื่อมต่อเมื่อสมาชิกในครอบครัวคนหนึ่งเริ่มใช้ YouTube บน แท็บเล็ต

โปรดทราบว่าบิตแมปนี้จะเป็นแบบไม่ระบุชื่อ ดังนั้น Seeker ไม่สามารถรู้ข้อมูล มีความผูกพันกับอุปกรณ์กับผู้ให้บริการ เช่น ใช้อุปกรณ์ที่เชื่อมกัน 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 (เวกเตอร์เริ่มต้น) คือ Salt 2 ไบต์ของข้อมูลคีย์บัญชีที่มี 0 ระยะห่างจากขอบ เช่น IV คือ concat(salt, 14-bytes ZEROs)

  3. ข้อมูลดิบของสถานะการเชื่อมต่อได้รับการกําหนดไว้ในตาราง 4.1 หาก การเปลี่ยนแปลงสถานะการเชื่อมต่อ Salt และ RPA ควรสร้างใหม่ที่ กรอบเวลาการโฆษณาเดียวกัน

ซึ่งจะทำให้ช่องสถานะการเชื่อมต่อที่เข้ารหัสหมุนไปพร้อมกับ ข้อมูลคีย์บัญชีจะหมุนเวียน

โฆษณา BLE จะมีโครงสร้างดังนี้

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า จำเป็นไหม
0 uint8 เวอร์ชันและแฟล็ก 10x บังคับ
1 - ตัน ข้อมูลคีย์บัญชี แตกต่างกัน บังคับ
t+1 - s ข้อมูลแบตเตอรี่ แตกต่างกัน ไม่บังคับ
s+1 - var ข้อมูลที่แปลงได้แบบสุ่ม แตกต่างกัน บังคับหากรายการคีย์บัญชีไม่ว่างเปล่า
มิฉะนั้นจะยกเว้น

ตาราง 4.2: โฆษณา BLE ที่มีข้อมูล Resolvable Data แบบสุ่ม

ข้อมูลที่แก้ไขได้แบบสุ่มประกอบด้วยข้อมูลต่อไปนี้

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า จำเป็นไหม
0 uint8 ความยาวและประเภทของช่อง
0bLLLLTTTT
  • L = ความยาวของข้อมูลที่เข้ารหัส
  • T = ประเภท
0bLLLL0110
  • ความยาว: แตกต่างกันไป
  • type = 0b0110
บังคับ
1 - var ข้อมูลที่เข้ารหัส แตกต่างกัน บังคับ

ตารางที่ 4.2.1: ข้อมูลที่แปลงได้แบบสุ่ม

เช่น หากข้อมูลที่แก้ไขแบบสุ่มได้มีการเชื่อมต่อที่เข้ารหัส สถานะ ผลลัพธ์ที่ถอดรหัสแล้วจะเป็น ช่องสถานะการเชื่อมต่อ

ข้อมูลคีย์บัญชีด้านบนควรได้รับการแก้ไขเล็กน้อยเพื่อป้องกันการปลอมแปลง เมื่อมีการรวมข้อมูลที่แก้ไขได้แบบสุ่มในโฆษณา โดยปกติเมื่อ ในการสร้างตัวกรองคีย์ของบัญชี ค่า V เกิดจากการรวมบัญชี ตัวกรองคีย์ผสมเกลือ แต่เมื่อมีการสุ่มข้อมูลที่แก้ไขได้ ค่า V ควรมีลักษณะดังต่อไปนี้

 V = concat(account_key, salt, random_resolvable_data)

หากมีการโฆษณาทั้งข้อมูลแบตเตอรี่และข้อมูลที่ปรับเปลี่ยนได้แบบสุ่ม V ควร สร้างขึ้นเป็น

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

คีย์บัญชีที่ใช้งานอยู่

การเปลี่ยนการเชื่อมต่อจะอิงตามบัญชี ดังนั้นผู้ให้บริการควรมี ของการเชื่อมต่อปัจจุบันในโฆษณา BLE หาก อุปกรณ์ที่เชื่อมต่อในปัจจุบันเป็นผู้มองหาสวิตช์เสียง ผู้ให้บริการควรจะสามารถ เพื่อรับคีย์บัญชีที่เชื่อมโยงกับ Seeker นี้ และใช้คีย์บัญชีนี้เพื่อ เข้ารหัสฟิลด์สถานะการเชื่อมต่อ หากแหล่งที่มาของเสียงที่เชื่อมต่อไม่ใช่เสียง สลับ Seeker ผู้ให้บริการควรใช้คีย์บัญชีที่ใช้ล่าสุด

ก่อนที่จะคำนวณตัวกรองคีย์บัญชี ผู้ให้บริการควรแก้ไข ของคีย์บัญชีเพื่อรวมรูปแบบใดรูปแบบหนึ่งต่อไปนี้ไว้ในรูปแบบการใช้งาน

  1. 0b00000100
    ไม่ได้ใช้งานคีย์บัญชีนี้
    นี่คือรหัสเริ่มต้น (ดูคีย์บัญชี)
  2. 0b00000101
    คีย์บัญชีนี้เป็นคีย์บัญชีที่ใช้งานล่าสุด
    ช่องสถานะการเชื่อมต่อได้รับการเข้ารหัสโดยคีย์บัญชีนี้ ไม่มี ข้อมูลคีย์บัญชีของสถานะการเชื่อมต่อปัจจุบัน นั่นอาจหมายถึงไม่มี อุปกรณ์ที่เชื่อมต่ออยู่หรืออุปกรณ์ที่เชื่อมต่อไม่ใช่ผู้ค้นหาสวิตช์เสียง
  3. 0b00000110
    คีย์บัญชีนี้เป็นคีย์บัญชีที่ใช้งานอยู่
    ช่องสถานะการเชื่อมต่อได้รับการเข้ารหัสโดยคีย์บัญชีนี้ และ อุปกรณ์ที่เชื่อมต่อเชื่อมโยงกับคีย์บัญชีนี้

สคีมาสำหรับเพย์โหลดการเปลี่ยนเสียง

ภาพด้านล่างแสดงสคีมาสำหรับเพย์โหลดการเปลี่ยนเสียง

ข้อความ

เมื่อเชื่อมต่อแล้ว ผู้ค้นหาและผู้ให้บริการจะใช้สตรีมข้อความเพื่อซิงค์เสียงได้ ความสามารถในการเปลี่ยน ทริกเกอร์สวิตช์การเชื่อมต่อ ตั้งค่าและรับการเปลี่ยน ค่ากำหนด แจ้งสถานะการเชื่อมต่อ และอื่นๆ เราสร้างกลุ่มข้อความและ รหัสข้อความเฉพาะของการสลับอุปกรณ์เสียงตามที่ระบุไว้ด้านล่าง

ชื่อกลุ่มข้อความ ค่า
สลับอุปกรณ์เสียง 0x07

รายละเอียดเพิ่มเติมสำหรับรหัสข้อความแต่ละรหัสจะอยู่ในส่วนต่อไปนี้

ชื่อรหัสข้อความ ค่า การเชื่อมต่อหลายอุปกรณ์เท่านั้น ผู้ส่ง ผู้ตอบ เข้ารหัส MAC รับทราบ
รับความสามารถของการสลับอุปกรณ์เสียง 10x N ทั้งคู่ ทั้ง 2 อย่าง ผ่านโค้ด 0x11 N ไม่ N
แจ้งเตือนความสามารถของการสลับอุปกรณ์เสียง 11 x N ทั้งคู่ ทั้งคู่ N ได้ Y
ตั้งค่าสถานะหลายจุด 12 x Y ผู้ค้นหา ผู้ให้บริการ N ได้ Y
ตั้งค่ากำหนดการเปลี่ยน 20x20 Y ผู้ค้นหา ผู้ให้บริการ N ได้ Y
รับค่ากำหนดการเปลี่ยน 21 x Y ผู้ค้นหา ผู้ให้บริการ ผ่านรหัส 0x22 N ไม่ N
แจ้งค่ากำหนดการเปลี่ยน 22 x 00 Y ผู้ให้บริการ ผู้ค้นหา N ไม่ N
เปลี่ยนแหล่งที่มาของเสียงที่ใช้งานอยู่(ไปยังอุปกรณ์ที่เชื่อมต่อ) 0x30 Y ผู้ค้นหา ผู้ให้บริการ N ได้ Y
เปลี่ยนกลับ 0x31 N ผู้ค้นหา ผู้ให้บริการ N ได้ Y
แจ้งเตือนเหตุการณ์การเปลี่ยนอุปกรณ์หลายจุด 0x32 Y ผู้ให้บริการ ผู้ค้นหา N ไม่ N
ดูสถานะการเชื่อมต่อ 0x33 Y ผู้ค้นหา ผู้ให้บริการ ผ่านรหัส 0x34 N ไม่ N
แจ้งสถานะการเชื่อมต่อ 34 x Y ผู้ให้บริการ ผู้ค้นหา Y ไม่ N
แจ้งเตือนการเชื่อมต่อที่เริ่มการสลับอุปกรณ์เสียง 0x40 N ผู้ค้นหา ผู้ให้บริการ N ได้ Y
ระบุคีย์บัญชีที่ใช้ 0x41 N ผู้ค้นหา ผู้ให้บริการ N ได้ Y
ส่งข้อมูลที่กำหนดเอง 0x42 N ผู้ค้นหา ผู้ให้บริการ N ได้ Y
ตั้งเป้าหมายการเชื่อมต่อแบบลดลง 0x43 Y ผู้ค้นหา ผู้ให้บริการ N ได้ Y

ตาราง 4.3: ข้อความสลับอุปกรณ์เสียง

ข้อความ MAC ของการสลับอุปกรณ์เสียง

ข้อความสลับเสียงทั้งหมดที่มี ข้อมูลที่ส่งจาก Seeker ไปยังผู้ให้บริการจะต้องใช้ รหัสการตรวจสอบสิทธิ์ข้อความ วันและเวลา ได้รับข้อความที่มี MAC แล้ว คุณควรรับทราบเพื่อให้ผู้ค้นหา จะทราบว่าผู้ให้บริการได้แสดงความรู้สึกต่อข้อความหรือไม่

หากการตรวจสอบสิทธิ์ข้อความสำเร็จ ผู้ให้บริการจะต้องส่ง ACK สำหรับ ข้อความ:

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รับทราบ 0xFF
1 uint8 รับทราบ 0x
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม แตกต่างกัน
4 uint8 สลับอุปกรณ์เสียง 0x07
5 uint8 รหัสข้อความการสลับอุปกรณ์เสียง แตกต่างกัน
6 - วินาที ข้อมูลเพิ่มเติม แตกต่างกัน

หากไม่สำเร็จ ผู้ให้บริการจะต้องส่ง NAK สำหรับข้อความ

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รับทราบ 0xFF
1 uint8 แนก 0x
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม 0x0003
4 uint8 สาเหตุของข้อผิดพลาด แตกต่างกัน
5 uint8 สลับอุปกรณ์เสียง 0x07
6 uint8 รหัสข้อความการสลับอุปกรณ์เสียง แตกต่างกัน

โปรดทราบว่าหากผู้ให้บริการเป็นผู้ส่ง ก็ไม่จำเป็นต้องใช้ MAC

รับความสามารถของการสลับอุปกรณ์เสียง

ทั้งผู้ให้บริการสลับเสียงและผู้หาจะตรวจสอบได้ว่าการจับคู่ด่วนที่เชื่อมต่ออยู่หรือไม่ ผู้ให้บริการ/ผู้ให้บริการรองรับการสลับอุปกรณ์เสียงหรือไม่ โดยใช้ข้อความด้านล่าง

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 สลับอุปกรณ์เสียง 0x07
1 uint8 รับความสามารถของการสลับอุปกรณ์เสียง 10x
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม 0

ตาราง 4.3.1.0: รับความสามารถของการสลับอุปกรณ์เสียง

แจ้งเตือนความสามารถของการสลับอุปกรณ์เสียง

เมื่อได้รับข้อความ ความสามารถในการสลับอุปกรณ์เสียง โปรแกรมสลับแทร็กเสียง/ผู้ให้บริการจะตอบสนองด้วยสิ่งใดสิ่งหนึ่งต่อไปนี้ แฟล็ก:

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 สลับอุปกรณ์เสียง 0x07
1 uint8 แจ้งเตือนความสามารถของการสลับอุปกรณ์เสียง 11 x
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม 20 หากผู้ให้บริการส่งข้อมูลนี้
4 หากผู้ให้บริการส่งข้อมูลนี้
4-5 ปี uint16 รหัสเวอร์ชันการเปลี่ยนเสียง ค่าที่ไม่ใช่ 0 หมายความว่ารองรับการสลับอุปกรณ์เสียง รหัสเวอร์ชันปัจจุบัน (ที่มีการเพิ่มประสิทธิภาพความปลอดภัย) คือ 0x0102
0x0000 หรือไม่มีการตอบสนองใน 1 วินาทีหมายความว่าอุปกรณ์นี้ไม่รองรับการสลับอุปกรณ์เสียง
6-7 ปี แฟล็ก แฟล็กความสามารถในการสลับอุปกรณ์เสียงของผู้ให้บริการ
หาก Seeker เป็นผู้ส่ง จะต้องไม่สนใจ 2 ไบต์นี้
แตกต่างกันไป
ดูแฟล็กความสามารถในการสลับเสียง
8-15 ปี Nonce ข้อความ
ต้องใช้เมื่อ Seeker ส่งเท่านั้น
แตกต่างกัน
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 ตั้งค่ากำหนดการเปลี่ยน 20x20
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม 18
4 แฟล็ก การเปลี่ยนการตั้งค่า varies
ดูค่าสถานะค่ากำหนดการเปลี่ยนหลายจุด
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 รับการกำหนดค่าการเปลี่ยน 21 x
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม 0

ตาราง 4.3.2.1: รับค่ากำหนดการเปลี่ยน

แจ้งค่ากำหนดการเปลี่ยน

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 สลับอุปกรณ์เสียง 0x07
1 uint8 แจ้งค่ากำหนดการเปลี่ยน 22 x 00
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม 2
4 แฟล็ก สลับแฟล็กค่ากำหนด varies
ดูค่าสถานะค่ากำหนดการเปลี่ยนหลายจุด
5 การตั้งค่าการเปลี่ยนขั้นสูง
ไบต์นี้สงวนไว้ ค่าเริ่มต้นควรเป็น 0
แตกต่างกัน

ตาราง 4.3.2.2: แจ้งค่ากำหนดการเปลี่ยน

เปลี่ยนแหล่งที่มาของเสียงที่ใช้งานอยู่ (ไปยังอุปกรณ์ที่เชื่อมต่อ)

ผู้ค้นหาสวิตช์เสียงสามารถขอให้ผู้ให้บริการหลายจุดเปลี่ยนโหมดที่ใช้งานอยู่ แหล่งที่มาของเสียงระหว่างอุปกรณ์ที่เชื่อมต่อโดยใช้ข้อความด้านล่าง

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 สลับอุปกรณ์เสียง 0x07
1 uint8 เปลี่ยนแหล่งที่มาของเสียงที่ใช้งานอยู่ (ไปยังอุปกรณ์ที่เชื่อมต่อ) 0x30
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม 17
4 แฟล็ก การสลับแฟล็กเหตุการณ์แหล่งที่มาของเสียงที่ใช้งานอยู่ แตกต่างกัน
ดูการเปลี่ยนเหตุการณ์แหล่งที่มาของเสียงที่ใช้งานอยู่
5 - 12 ปี Nonce ข้อความ แตกต่างกัน
13 - 20 คน รหัสการตรวจสอบสิทธิ์ข้อความ แตกต่างกัน

ตาราง 4.3.3.0: เปลี่ยนแหล่งที่มาของเสียงที่ใช้งานอยู่ (ไปยังอุปกรณ์ที่เชื่อมต่อ)

กำลังเปลี่ยนเหตุการณ์แหล่งที่มาของเสียงที่ใช้งานอยู่
  • บิต 0 (MSB): สวิตช์นี้ 1 ตัว, สวิตช์ 0 เปลี่ยนเป็นอุปกรณ์ที่เชื่อมต่อเครื่องที่ 2
  • บิต 1: 1 จะเล่นต่อบนสวิตช์อุปกรณ์หลังจากเปลี่ยน หากไม่ใช่ 0 การกลับมาเล่นต่อหมายความว่าผู้ให้บริการจะส่งการแจ้งเตือน PLAY ไปยังผู้หา ผ่านโปรไฟล์ AVRCP หากสถานะก่อนหน้า (ก่อนเปลี่ยนออก) ไม่ได้ PLAY ผู้ให้บริการควรไม่สนใจ Flag นี้
  • บิต 2: 1 ปฏิเสธ SCO บนอุปกรณ์ที่เปลี่ยนห่าง 0
  • บิต 3: 1 ยกเลิกการเชื่อมต่อบลูทูธเมื่อสวิตช์อุปกรณ์ไม่อยู่บ้าน หรือไม่ใช่ 0
  • บิต 4 - 7: สงวนไว้

ผู้ค้นหาการสลับอุปกรณ์เสียงอาจไม่ทราบสถานะอย่างถูกต้องเสมอไป ดังนั้นจึงเป็นไปได้ เพื่อให้ผู้ให้บริการได้รับ "เปลี่ยนเป็นอุปกรณ์นี้" เมื่อ Seeker อุปกรณ์ที่ใช้งานอยู่อยู่แล้ว ในกรณีนี้ ในการแสดง UI ที่ถูกต้องบน Seeker ผู้ให้บริการสามารถส่ง NAK พร้อมสาเหตุของข้อผิดพลาด ซึ่งก็คือ 0x4 - การดำเนินการของอุปกรณ์ที่ซ้ำซ้อน

สำหรับผู้ให้บริการ LE Audio ที่มีสมาชิกในเซ็ตมากกว่า 1 ราย ผู้ให้บริการควร ยกเลิกการเชื่อมต่อสมาชิกทั้งหมดจาก 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 เหตุผลในการเปลี่ยน
ค่านี้ควรกำหนดตามสถานะการเชื่อมต่อ สําหรับ Use Case ของ LE Audio โปรดดูการแมประหว่างประเภทบริบทของ LE Audio และสถานะการเชื่อมต่ออาจเป็นประโยชน์ ตัวอย่างเช่น สถานะการเชื่อมต่อที่สอดคล้องกับ Voice Assistant จะเป็น 0x9(การสตรีมด้วยเสียง LE - การโทร) ดังนั้น เหตุผลในการเปลี่ยนที่เริ่มโดยผู้ช่วยเสียงจึงควรเป็น 0x02
varies
0x00: ไม่ระบุ
0x01: สื่อ (เช่น สตรีมมิง A2DP, การสตรีมสื่อ LEA)
0x02: การโทร (เช่น สตรีมมิง HFP, สตรีมมิงการโทร LEA)
5 uint8 อุปกรณ์เป้าหมาย แตกต่างกันออกไป
0x01: อุปกรณ์นี้
0x02: อุปกรณ์ที่เชื่อมต่ออีกเครื่องหนึ่ง
6 - n utf8 ชื่ออุปกรณ์เป้าหมาย
หากอุปกรณ์เป้าหมายคือ Audio Switch Seeker โดยใช้ชื่อที่ Seeker ส่งให้ หรือใช้ชื่อ BT (หากไม่มี) และใช้ 2 ไบต์สุดท้ายของที่อยู่
แตกต่างกัน

ตาราง 4.3.3.2: แจ้งเหตุการณ์การเปลี่ยนหลายจุด

ดูสถานะการเชื่อมต่อ

ผู้ค้นหาจะรับสถานะการเชื่อมต่อปัจจุบันจากผู้ให้บริการได้ดังนี้

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 สลับอุปกรณ์เสียง 0x07
1 uint8 ดูสถานะการเชื่อมต่อ 0x33
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม 0

ตาราง 4.3.3.3: ดูสถานะการเชื่อมต่อ

เมื่อได้รับข้อความนี้ ผู้ให้บริการต้องตอบกลับด้วยรหัสข้อความ 0x34 แจ้งสถานะการเชื่อมต่อ

แจ้งสถานะการเชื่อมต่อ

ตามที่กำหนดไว้ในเพย์โหลดโฆษณา BLE สำหรับ ผู้ให้บริการหลายจุด หากสถานะการเชื่อมต่อเปลี่ยนแปลง ยกเว้นการเปลี่ยน ผู้ให้บริการยังควรแจ้งให้ผู้หาซื้อที่เชื่อมต่ออยู่ทราบอีกด้วย กำลังใช้คีย์บัญชีเดียวกันเกี่ยวกับการเปลี่ยนแปลงนี้ หากผู้ให้บริการเชื่อมต่ออยู่ ด้วย Seeker การสลับแทร็กเสียง และ Seeker ที่ไม่ใช่เสียงหากตัวเลือกที่ไม่ใช่เสียง Switch Seeker ทำงานอยู่ ผู้ให้บริการควรแจ้งเสียงที่เชื่อมต่อด้วย สลับ Seeker เกี่ยวกับสถานะการเชื่อมต่อ (โดยใช้คีย์บัญชีของ Seeker)

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 สลับอุปกรณ์เสียง 0x07
1 uint8 แจ้งสถานะการเชื่อมต่อ 34 x
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม แตกต่างกัน
4 uint8 Flag อุปกรณ์ที่ใช้งานอยู่ varies
0x00: Seeker นี้เป็นแบบแพสซีฟ และอุปกรณ์ที่ใช้งานอยู่ใช้คีย์บัญชีเดียวกัน
0x01 โดย Seeker นี้เป็นอุปกรณ์ที่มีการใช้งาน
0x02: Seeker นี้เป็นแบบแพสซีฟและอุปกรณ์ที่ใช้งานอยู่คือ Seeker ที่ไม่ใช่เสียง
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: แจ้งเตือนการเชื่อมต่อที่เริ่มสลับอุปกรณ์เสียง

ระบุในคีย์บัญชี

หากมีคีย์บัญชีหลายรายการใน Seeker (เช่น ผู้ใช้หลายคน) เชื่อมโยงอยู่กับ ผู้ให้บริการ ผู้ค้นหาจะใช้ข้อความด้านล่างเพื่อระบุว่าบัญชีใด กำลังใช้งานอยู่

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า
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 ที่เชื่อมต่อรายอื่นโดยใช้คีย์บัญชีเดียวกัน

ตั้งเป้าหมายการลดลงของการเชื่อมต่อ

ในชุดหูฟังแบบหลายจุด หากการเชื่อมต่อที่ต้องการตัดการเชื่อมต่อไม่ได้ 1 รายการที่ใช้ล่าสุด ผู้มองหาสวิตช์เสียงจะบอกผู้ให้บริการได้ว่าอุปกรณ์ใด วางโดยใช้ข้อความต่อไปนี้

อ็อกเท็ต ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 สลับอุปกรณ์เสียง 0x07
1 uint8 ตั้งเป้าหมายการลดลงของการเชื่อมต่อ 0x43
2-3 ปี uint16 ความยาวของข้อมูลเพิ่มเติม 17
4 uint8 กำหนดเป้าหมายอุปกรณ์ที่เชื่อมต่อที่จะวาง แตกต่างกันไป
1: อุปกรณ์นี้
5 - 12 ปี Nonce ข้อความ แตกต่างกัน
13 - 20 คน รหัสการตรวจสอบสิทธิ์ข้อความ แตกต่างกัน

ตาราง 4.3.4.3: ตั้งเป้าหมายการลดลงของการเชื่อมต่อ

การใช้งานข้อมูลอ้างอิง

ดู ไลบรารี SDK แบบฝังใกล้เคียงสำหรับการติดตั้งใช้งานข้อมูลอ้างอิง