Bluetooth Low Energy Audio (LEA) ช่วยให้ผู้ใช้รับเสียงที่มีความเที่ยงตรงสูงได้โดยไม่ทำให้แบตเตอรี่หมดเร็ว และช่วยให้ผู้ใช้สลับไปมาระหว่างกรณีการใช้งานต่างๆ ได้อย่างราบรื่น Android 13 (ระดับ API 33) มีการรองรับ LEA ในตัว
ชุดหูฟัง LEA ส่วนใหญ่จะเป็นแบบ 2 โหมดจนกว่าส่วนแบ่งการตลาดของอุปกรณ์แหล่งที่มาของ LEA จะเพิ่มขึ้น ผู้ใช้ควรจับคู่และตั้งค่าการรับส่งข้อมูลทั้ง 2 แบบในชุดหูฟังแบบ 2 โหมดได้
กรณีการใช้งาน
คุณอาจต้องการผสานรวม LEA สำหรับกรณีการใช้งานต่อไปนี้
การแชร์เสียง: ผู้ใช้สามารถแชร์สตรีมเสียงหลายรายการไปยังอุปกรณ์ปลายทางเสียงอย่างน้อย 1 เครื่องพร้อมกันได้ ระบบจะซิงค์เสียงระหว่างอุปกรณ์แหล่งที่มากับอุปกรณ์ที่เชื่อมต่อ
การออกอากาศเสียง: ผู้ใช้สามารถออกอากาศเสียงไปยังเพื่อนและครอบครัว รวมถึงเชื่อมต่อกับการออกอากาศสาธารณะเพื่อรับข้อมูล ความบันเทิง หรือการเข้าถึง
การรองรับตัวแปลงสัญญาณเสียง LC3: ตัวแปลงสัญญาณเสียงนี้เป็นตัวแปลงสัญญาณเสียงเริ่มต้นและจะมาแทนที่ตัวแปลงสัญญาณ SBC ที่ใช้สำหรับ A2DP (สื่อ) และ mSBC ใน HFP (เสียง) LC3 มีประสิทธิภาพมากกว่า กำหนดค่าใหม่ได้ และมีคุณภาพสูงกว่า
การปรับปรุงการสุ่มตัวอย่างเสียง: ชุดหูฟังสามารถรักษาคุณภาพเสียงเอาต์พุตสูงเมื่อใช้ไมโครโฟน Bluetooth Classic จะลดคุณภาพเสียงเมื่อใช้ไมโครโฟนบลูทูธ ส่วน BLE Audio จะมีการสุ่มตัวอย่างอินพุตและเอาต์พุตได้สูงสุด 32 kHz
ไมโครโฟนสเตอริโอ: อุปกรณ์ฟังเสียงสามารถบันทึกเสียงด้วยไมโครโฟนสเตอริโอเพื่อปรับปรุงเสียงเชิงพื้นที่
การรองรับ Hearing Aid Profile (HAP): HAP ช่วยให้ผู้ใช้เข้าถึงและใช้งานได้มากขึ้นกว่าโปรโตคอล ASHA ก่อนหน้านี้ ผู้ใช้สามารถใช้เครื่องช่วยฟังสำหรับการโทรศัพท์และแอปพลิเคชัน VoIP ได้
การรองรับ Enhanced Attribute Protocol (EATT): EATT ช่วยให้นักพัฒนาแอปส่งคำสั่งหลายรายการไปยังอุปกรณ์ฟังเสียงที่จับคู่ไว้ได้พร้อมกัน
สถานการณ์สำคัญ
กรณีการใช้งานแบ่งออกเป็น 4 หมวดหมู่หลักๆ ดังนี้
การสนทนา: แอปพลิเคชัน Dialer และ VoIP ที่กำหนดให้มีการกำหนดเส้นทางการสื่อสารที่มีเวลาในการตอบสนองต่ำจะให้เสียงคุณภาพสูงและใช้แบตเตอรี่น้อยลง
การเล่นเกม: การเล่นไมโครโฟนและการเล่นเสียงที่มีความเที่ยงตรงสูงพร้อมกันช่วยให้เกมสตรีมเสียงคุณภาพสูงไปยังอุปกรณ์ฟังเสียงได้ แอปเกมสามารถเข้าถึงอินพุตเสียง BLE ได้เมื่อเกมเตรียมไมโครโฟนบลูทูธให้พร้อมใช้งาน จากนั้นเมื่อผู้เล่นเริ่มการสนทนาสดกับผู้เล่นคนอื่น แอปเกมจะใช้ข้อมูลไมโครโฟนได้โดยไม่ชักช้า
สื่อ: แอปพลิเคชันสื่อได้รับอนุญาตให้ตั้งค่าอุปกรณ์หลักของตัวจัดการเสียง ผู้ใช้สามารถลบล้างการตั้งค่านี้ได้โดยเปลี่ยนอุปกรณ์หลักจากการตั้งค่าของระบบ
การช่วยเหลือพิเศษ: เครื่องช่วยฟังที่รองรับ BLE Audio สามารถใช้ไมโครโฟนได้แล้ว ซึ่งช่วยให้ผู้ใช้ใช้เครื่องช่วยฟังสำหรับการโทรได้อย่างต่อเนื่อง
API และเมธอด BLE Audio
คุณต้องใช้ API และเมธอดต่อไปนี้เพื่อรองรับอุปกรณ์ฟังเสียง BLE Audio
AudioManager
setCommunicationDevice()จะเลือกอุปกรณ์เสียงที่ควรใช้สำหรับกรณีการใช้งานการสื่อสาร เช่น การโทรด้วยเสียงหรือวิดีโอ แอปพลิเคชันการแชทด้วยเสียงหรือวิดีโอแชทสามารถใช้เมธอดนี้เพื่อเลือกอุปกรณ์เสียงอื่นที่ไม่ใช่อุปกรณ์ที่แพลตฟอร์มเลือกไว้โดยค่าเริ่มต้น API นี้จะมาแทนที่ API ที่เลิกใช้งานแล้วต่อไปนี้:startBluetoothSco(),stopBluetoothSco(), และsetSpeakerphoneOn().clearCommunicationDevice()จะเรียกใช้หลังจากที่แอปของคุณสิ้นสุดการโทรหรือเซสชัน เพื่อช่วยให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดีเมื่อย้ายไปมาระหว่างแอปพลิเคชันต่างๆ
BluetoothProfile
BluetoothLeAudioจะควบคุมบริการบลูทูธผ่านออบเจ็กต์พร็อกซี
Telecom InCallService
InCallService#requestCallEndpointChange()จะมาแทนที่ APIInCallService.setAudioRoute()และInCallService.requestBluetoothAudio()ที่เลิกใช้งานแล้ว เพื่อให้แอปขอการกำหนดเส้นทางเสียงไปยังCallEndpointที่เฉพาะเจาะจงได้ ไคลเอ็นต์ไม่ควร กำหนดCallEndpointของตนเองเมื่อ ขอเปลี่ยนแปลง แต่ปลายทางใหม่ควรเป็นปลายทางที่ถูกต้องซึ่ง ระบุไว้โดยInCallService.onAvailableCallEndpointsChanged(java.util.List)CallEndpoint.TYPE_BLUETOOTHจะกำหนดเส้นทางสตรีมเสียงผ่านบลูทูธ- API
InCallServiceที่กล่าวถึงข้างต้นออกแบบมาให้ใช้โดยแอปโทรศัพท์เริ่มต้นในโทรศัพท์ Android หรือ พื้นผิวการโทรอื่นๆ เช่น อุปกรณ์สวมใส่ รถยนต์ หรืออุปกรณ์บลูทูธอื่นๆ ที่อาจต้องการกำหนดเส้นทางเสียง
Telecom CallControl
- คลาส
CallControlใหม่เปิดตัวใน API ระดับ 34 เพื่อมาแทนที่ConnectionและConnectionServiceสำหรับแอปพลิเคชัน VoIP เท่านั้น CallControl.requestCallEndpointChange()จะขอการเปลี่ยนแปลงCallEndpointด้วย API นี้จะมาแทนที่ API ที่เลิกใช้งานแล้วConnection.requestBluetoothAudio()และConnection.setAudioRoute()- นอกเหนือจาก API แพลตฟอร์ม Telecom ที่อัปเดตแล้ว เราขอแนะนำให้ใช้ ไลบรารี Telecom Jetpack เมื่อ สร้างแอปพลิเคชันการโทรด้วยเสียงและ/หรือวิดีโอ ไลบรารีนี้จะช่วยลดความซับซ้อนของกระบวนการผสานรวมและปรับปรุงการโทร VoIP ในพื้นผิว Android ทั้งหมดได้อย่างมาก
ข้อมูลอุปกรณ์เสียง
AudioDeviceInfo.TYPE_BLE_HEADSETจะอธิบายประเภทอุปกรณ์เสียงเป็นอุปกรณ์ LEA ใช้เพื่อระบุว่าอุปกรณ์ฟังเสียงเป็นอุปกรณ์ LEA หรือไม่
เครื่องบันทึกเสียง
setPreferredDevice()จะตั้งค่าอุปกรณ์หลักที่ต้องการให้ใช้สำหรับการกำหนดเส้นทางเสียง ผู้ใช้สามารถลบล้างการตั้งค่านี้ได้ในการตั้งค่าระบบ
อแดปเตอร์บลูทูธ
isLeAudioSupported(): แสดง@BluetoothStatusCodesค่าคงที่ (FEATURE_SUPPORTED,FEATURE_NOT_SUPPORTEDหรือรหัสข้อผิดพลาด) ที่ระบุว่าฮาร์ดแวร์ของอุปกรณ์รองรับ LE Audio หรือไม่isLeAudioBroadcastSourceSupported(): แสดง@BluetoothStatusCodesค่าคงที่ (FEATURE_SUPPORTED,FEATURE_NOT_SUPPORTED, หรือรหัสข้อผิดพลาด) ที่ระบุว่าฮาร์ดแวร์ของอุปกรณ์รองรับแหล่งที่มาของการออกอากาศ LE Audio หรือไม่
คำแนะนำตามกรณีการใช้งาน
ด้านล่างนี้คือคำแนะนำสำหรับการใช้ LEA ตามกรณีการใช้งานที่เฉพาะเจาะจง
แอปพลิเคชันการสื่อสารด้วยเสียง
แอปพลิเคชันการสื่อสารด้วยเสียงมีตัวเลือกในการจัดการการกำหนดเส้นทางเสียงและสถานะอุปกรณ์ด้วยการจัดการสถานะด้วยตนเองหรือใช้ Telecom API ซึ่งจะจัดการการกำหนดเส้นทางเสียงและตรรกะสถานะให้คุณ
จัดการด้วยตนเอง: สำหรับแอปพลิเคชันที่ปัจจุบันใช้
startBluetoothSco(),stopBluetoothSco(), และsetSpeakerphoneOn()หรือต้องการจัดการสถานะการกำหนดเส้นทางเสียงด้วยตนเอง ให้ทำตาม คำแนะนำการโทรที่จัดการด้วยตนเองของตัวจัดการเสียงจัดการ: ใช้ไลบรารี Telecom Jetpack หรือ Telecom Platform API เพื่อสร้างแอปพลิเคชันการโทรด้วยเสียงหรือวิดีโอ
โซลูชันทั้ง 2 นี้ช่วยให้คุณควบคุมการกำหนดเส้นทางเสียงและสลับไปมาระหว่างอุปกรณ์บลูทูธได้อย่างรวดเร็วและง่ายดาย ดูข้อมูลเพิ่มเติมได้ที่ คำแนะนำการโทรที่จัดการโดย Telecom
แอปพลิเคชันการบันทึกเสียง
- Media Recorder: เมื่อบันทึกเสียงโดยใช้ Media Recorder ตอนนี้คุณสามารถบันทึกเป็นสเตอริโอได้หากอุปกรณ์ฟังเสียงบลูทูธรองรับ LEA ดูคำแนะนำเกี่ยวกับเสียงที่บันทึกไว้
คำแนะนำเกี่ยวกับชุดหูฟัง LE Audio (LEA)
เมื่อมีการเปิดตัวชุดหูฟัง LEA มากขึ้น เราได้พบปัญหาในการทดสอบในโลกจริงที่ทำให้ประสบการณ์ของผู้ใช้แย่ลง ข้อกำหนดไม่ได้ครอบคลุมปัญหาทั้งหมดนี้ ตารางต่อไปนี้แสดงรายการคำแนะนำที่ผู้ผลิตชุดหูฟัง LEA ควรปฏิบัติตามเพื่อปรับปรุงประสบการณ์แบบครบวงจรสำหรับผู้ใช้ Android
| คำอธิบาย | บริบท |
|---|---|
รองรับ Cross Transport Key Derivation (CTKD) สำหรับ
ชุดหูฟังแบบ 2 โหมด:
|
ชุดหูฟัง LEA ใหม่ส่วนใหญ่จะเป็นแบบ 2 โหมดจนกว่าส่วนแบ่งการตลาดของอุปกรณ์แหล่งที่มาของ LEA จะเพิ่มขึ้น ผู้ใช้ควรจับคู่ชุดหูฟังแบบ 2 โหมดได้อย่างราบรื่นและตั้งค่าการรับส่งข้อมูลทั้ง 2 แบบได้ ซึ่งมีความสำคัญต่อ Google จับคู่ด่วน ด้วย |
|
รองรับ Targeted Announcements (TA) หากต้องการให้ ชุดหูฟัง LEA เชื่อมต่อกับอุปกรณ์แหล่งที่มาอีกครั้งได้อย่างน่าเชื่อถือ หูฟัง LE Audio ควรใช้ TA เพื่อขอการเชื่อมต่อขาเข้า จากอุปกรณ์ส่วนกลาง จะมีการเพิ่มลงใน BT SIG ที่กำลังจะมาถึง |
การเชื่อมต่อใน LEA ต้องเริ่มต้นโดยอุปกรณ์ส่วนกลาง ซึ่งแตกต่างจากโมเดลการเพจของ BR/EDR ที่โทรศัพท์หรือชุดหูฟังสามารถเริ่มต้นการเชื่อมต่อได้ ปัจจุบันชุดหูฟังจำนวนมากไม่ได้ใช้ TA ซึ่งหมายความว่าอุปกรณ์ส่วนกลางอาจเชื่อมต่อกับอุปกรณ์ต่อพ่วงอีกครั้งไม่ได้หากไม่ได้เพิ่มอุปกรณ์ต่อพ่วงลงในรายการที่อนุญาต อย่างไรก็ตาม การแก้ปัญหาด้วยรายการที่อนุญาตอาจทำให้ชุดหูฟังเชื่อมต่อกับอุปกรณ์ส่วนกลางอื่นไม่ได้ ดังนั้น ชุดหูฟัง LEA จึงต้องรองรับ TA อย่างถูกต้องเพื่อให้อุปกรณ์ส่วนกลางเชื่อมต่ออีกครั้งได้อย่างน่าเชื่อถือโดยไม่ต้องใช้การแก้ปัญหาที่อาจทำให้การเชื่อมต่อหลายจุดหยุดทำงาน |
การค้นพบได้ที่เพิ่มประสิทธิภาพสำหรับหูฟังเอียร์บัดแบบ 2 โหมด
|
การดำเนินการนี้จะป้องกันไม่ให้หูฟังเอียร์บัด LEA แบบ 2 โหมดปรากฏเป็นรายการที่ซ้ำกันในการตั้งค่าบลูทูธ ซึ่งอาจทำให้ผู้ใช้สับสนและส่งผลต่อประสบการณ์การจับคู่อุปกรณ์ LEA
การเลือกผู้นำแบบไดนามิกมีความสำคัญอย่างยิ่งสำหรับอุปกรณ์แบบ 2 โหมด ที่จับคู่ทีละรายการ เช่น หากมีหูฟังเพียงข้างเดียวที่พร้อมใช้งานในการจับคู่ครั้งแรก หูฟังข้างนั้นควรแสดงตัวเองเป็นอุปกรณ์แบบ 2 โหมด เมื่อผู้ใช้จับคู่กับหูฟังข้างที่ 2 ในภายหลัง ผู้ใช้จะต้องจับคู่กับคอมโพเนนต์ LE เท่านั้น และ CSIP จะตรวจสอบว่าหูฟังทั้ง 2 ข้างถูกจัดกลุ่มไว้ด้วยกันใน Android เราขอแนะนำให้ใช้ที่อยู่ประจำตัวระหว่างการจับคู่เนื่องจากคอมโพเนนต์ BR/EDR ได้เปิดเผยที่อยู่สาธารณะของอุปกรณ์ต่ออุปกรณ์ที่อยู่ใกล้เคียง แล้ว |
| รองรับ Enhanced Attribute Protocol (EATT) | ลดเวลาในการตอบสนองของการจับคู่และการเชื่อมต่อ |
| รองรับ การแคช GATT ที่มีประสิทธิภาพ | ลดเวลาในการตอบสนองของการเชื่อมต่อ โดยเฉพาะอย่างยิ่งสำหรับหูฟัง TWS |
| รองรับ การจัดระดับย่อยของการเชื่อมต่อ | ช่วยให้กำหนดเวลาแพ็กเก็ตได้ยืดหยุ่นมากขึ้นและอาจประหยัดแบตเตอรี่ได้ |
| ตรวจสอบว่าในระหว่างการประมวลผลล่วงหน้าและหลังการประมวลผลสำหรับการเล่นและ การบันทึก ไปป์ไลน์การประมวลผลสัญญาณสามารถทำงานที่ 16, 24, 32 และ 48 kHz รวมถึงรองรับความถี่ที่สูงกว่าได้ | ใช้ประโยชน์จากอัตราการสุ่มตัวอย่างที่สูงขึ้นซึ่งรองรับเส้นทางการบันทึกการโทรหรือ VoIP และการเล่นสื่อ LEA |
| รองรับ การควบคุมพลังงาน LE | การจัดการพลังงานที่ดีขึ้น |
การรองรับประเภทบริบท
| คำอธิบาย | บริบท |
|---|---|
| ใช้ประเภทบริบททั้งหมดที่ระบุไว้ใน Assigned Numbers 6.12.3 เว้นแต่ชุดหูฟังจะไม่รองรับประเภทบริบทที่ระบุอย่างชัดเจน | เช่น หากไม่รองรับประเภทบริบท "เกม" Android จะส่งเสียงเกม โปรดทราบว่าประเภทบริบท "ไม่ระบุ" ไม่ได้หมายความว่า "ประเภทบริบทใดก็ได้" และไม่ได้ครอบคลุมประเภทบริบทที่ไม่รองรับ |
เมื่ออุปกรณ์ส่วนกลางโต้ตอบกับ ASCS ของอุปกรณ์ต่อพ่วง อุปกรณ์ต่อพ่วงต้องเชื่อมต่อกับ MCS และ TBS ของอุปกรณ์ส่วนกลาง อุปกรณ์ส่วนกลางอาจไม่ได้ใช้ LE Audio เป็นเส้นทางการสตรีม เสมอไป เนื่องจากอาจกลับไปใช้ A2DP หรือ HFP อุปกรณ์ต่อพ่วง สามารถใช้การโต้ตอบ ASCS เป็นตัวบ่งชี้ว่าอุปกรณ์ส่วนกลาง จะใช้ LE Audio สำหรับการสตรีมหรือไม่ ตัวอย่างการโต้ตอบ ASCS ได้แก่ การอ่าน การเขียน และการลงทะเบียนเพื่อรับ การแจ้งเตือน |