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