ตัวควบคุมการได้ยิน
การควบคุมการได้ยินในการจับคู่ด่วนมีจุดประสงค์เพื่อมอบการควบคุมการเข้าถึงที่ดียิ่งขึ้นสำหรับฟีเจอร์สำคัญที่ได้ยินได้ใน Android มีการเพิ่มการควบคุมการได้ยินของกลุ่มข้อความใหม่ภายในสตรีมข้อความเพื่อให้บรรลุเป้าหมายนี้
ชื่อกลุ่มข้อความ | ค่า |
---|---|
ตัวควบคุมการได้ยิน | 0x08 |
การควบคุมเสียงรบกวนแบบแอ็กทีฟ
การควบคุมเสียงรบกวนแบบแอ็กทีฟเป็นฟีเจอร์ที่โดดเด่นสำหรับหูฟังระดับพรีเมียม ในฝั่ง "ขอ" การจับคู่ด่วนจะมี UI และตรรกะเพื่อตั้งค่า รับ และบันทึกสถานะ โดยระบบจะจัดเก็บสถานะไว้ในฝั่งผู้ให้บริการ ผู้ให้บริการจำเป็นต้องส่ง Session Nonce เมื่อมีการเชื่อมต่อสตรีมเหตุการณ์ เพื่อให้บรรลุเป้าหมายนี้ จึงมีการกำหนดรหัสข้อความไว้ด้านล่างนี้
ชื่อรหัสข้อความ | ค่า | ผู้ส่ง | ผู้ตอบ | MAC | รับทราบ |
---|---|---|---|---|---|
รับสถานะ ANC | แบบ 0X11 | นักแสวงหา | ผู้ให้บริการ | N | N |
ตั้งค่าสถานะ ANC | 0x12 | นักแสวงหา | ผู้ให้บริการ | Y | Y |
แจ้งสถานะ ANC | แบบ 0X13 | ผู้ให้บริการ | นักแสวงหา | N | N |
เมื่อผู้ร้องขอเชื่อมต่อกับผู้ให้บริการ หรือเมื่อผู้ให้บริการได้รับข้อความ "รับสถานะ ANC" ผู้ให้บริการสามารถแจ้งสถานะ ANC เพื่อแจ้งให้ Seeker ทราบถึงความสามารถ ANC และสถานะที่จัดเก็บไว้ ข้อความมีดังนี้
ไบต์ | ประเภทข้อมูล | คำอธิบาย | ค่า |
---|---|---|---|
0 | uint8 | ตัวควบคุมการได้ยิน | 0x08 |
1 | uint8 | แจ้งสถานะ ANC | แบบ 0X13 |
2 - 3 | uint16 | ความยาวข้อมูลเพิ่มเติม | 0x04 |
4 - 7 | ข้อมูลการควบคุม ANC | หลากหลาย |
ข้อมูลการควบคุม ANC
ไบต์ | ประเภทข้อมูล | คำอธิบาย | ค่า |
---|---|---|---|
0 | uint8 | รหัสรุ่น | varies,0x02 สำหรับเวอร์ชันนี้ |
1 | ธง | การสลับ UI แต่ละโหมดจะเปิดใช้ (1) หรือปิดใช้ (0) ตามค่าของบิตของ Flag ดังนี้ บิต 0 (MSB): โปร่งใส บิต 1: สงวนไว้ (ตั้งบิตเป็น 0) บิต 2: ปิด บิต 3: จองแล้ว (ตั้งบิตเป็น 0) บิต 4: ANC |
หลากหลาย |
2 | ธง | การเปิด/ปิดที่ตั้งค่าได้ คุณสามารถตั้งค่าบิตสลับ UI ด้านบนนี้ทั้งหมดหรือบางส่วนก็ได้เพื่อระบุว่ามีการเปิดใช้บิตใดอยู่ |
หลากหลาย |
3 | ธง | สถานะปัจจุบัน ตั้งค่าได้หนึ่งบิตเท่านั้น |
หลากหลาย |
Seeker จะแสดง UI เปิด/ปิดตามข้อมูลการควบคุม ANC
ตัวอย่างที่ 1: ผู้ให้บริการรองรับ ANC แบบ 3 ทาง ได้แก่ แบบโปร่งใส - ปิดอยู่ - ANC และหูฟังเอียร์บัดเปิดอยู่ ทุกโหมดตั้งค่าได้แล้ว และสถานะปัจจุบันของสถานะปิดอยู่
ไบต์ | ประเภทข้อมูล | คำอธิบาย | ค่า |
---|---|---|---|
0 | uint8 | รหัสรุ่น | 0x01 |
1 | ธง | การสลับ UI | 0B10101000 |
2 | ธง | ปุ่มเปิด/ปิดที่ตั้งค่าได้ | 0B10101000 |
3 | ธง | สถานะปัจจุบัน | 0B00100000 |
ตัวอย่างที่ 2: ผู้ให้บริการรองรับ ANC แบบ 3 ทาง ได้แก่ โปร่งใส - ปิด - ANC, มีหูฟังเอียร์บัดข้างเดียวเปิดอยู่ตอนนี้ หรือไม่มีหูฟังเอียร์บัดเปิดอยู่บนส่วนหัว ดังนั้นจึงตั้งค่าโหมดไม่ได้ และสถานะปัจจุบันปิดอยู่
ไบต์ | ประเภทข้อมูล | คำอธิบาย | ค่า |
---|---|---|---|
0 | uint8 | รหัสรุ่น | 0x01 |
1 | ธง | สลับ UI | 0B10101000 |
2 | ธง | สลับการตั้งค่า | 0B00000000 |
3 | ธง | สถานะปัจจุบัน | 0B00100000 |
หากผู้ใช้สลับปุ่มเปิด/ปิด Seeker จะตั้งค่าสถานะปัจจุบันของผู้ให้บริการ ดังนี้
ไบต์ | ประเภทข้อมูล | คำอธิบาย | ค่า |
---|---|---|---|
0 | uint8 | ตัวควบคุมการได้ยิน | 0x08 |
1 | uint8 | ตั้งค่าสถานะ ANC | 0x12 |
2 - 3 | uint16 | ความยาวข้อมูลเพิ่มเติม | varies, 0x04 หรือ 0x14 |
4 | uint8 | รหัสเวอร์ชันของ Seeker | varies, 0x01 หรือ 0x02 |
5 | ธง | โหมดการตั้งค่า ANC (การสลับ UI) | หลากหลาย |
6 | ธง | โหมดที่เปิดใช้ ANC (เปิด/ปิดการตั้งค่าได้) | หลากหลาย |
7 | ธง | ดัชนีโหมด ANC ใหม่ (สถานะใหม่) | หลากหลาย |
8 - 23 | จองแล้ว | หลากหลาย |
ไบต์ 4-7 จริงๆ แล้วเป็นข้อมูลควบคุม ANC ที่ส่งจากฝั่ง Seeker หากกำหนดค่าความยาวเพิ่มเติมเป็น 0x14 ไบต์ที่สงวนไว้ 8-23 จะปรากฏ และเมื่อได้รับไบต์เหล่านี้แล้ว ผู้ให้บริการควรไม่ต้องสนใจ หากกำหนดค่าความยาวเพิ่มเติมเป็น 0x04 จะไม่มีไบต์ที่สงวนไว้
เมื่อผู้ให้บริการได้รับข้อความ "ตั้งค่าสถานะ ANC" ผู้ให้บริการควรรับทราบ และแจ้งเตือนสถานะ ANC แก่ผู้ค้นหาที่เชื่อมต่อทั้งหมด หากผู้ใช้เปลี่ยนการตั้งค่าผ่านท่าทางสัมผัสของชุดหูฟังหรือแอปพลิเคชันที่ใช้ร่วมกัน ผู้ให้บริการควรส่งการแจ้งเตือนไปยังผู้ส่งคำขอที่เชื่อมต่อทุกคนด้วย