Âm thanh Bluetooth năng lượng thấp (LEA) đảm bảo rằng người dùng có thể nhận được âm thanh có độ trung thực cao mà không phải hy sinh thời lượng pin, đồng thời cho phép họ chuyển đổi liền mạch giữa các trường hợp sử dụng khác nhau. Android 13 (API cấp 33) có tính năng hỗ trợ tích hợp cho LEA.
Hầu hết tai nghe LEA sẽ có chế độ kép cho đến khi thị phần thiết bị nguồn LEA tăng lên. Người dùng phải có thể ghép nối và thiết lập cả hai phương thức truyền trên tai nghe hai chế độ.
Trường hợp sử dụng
Bạn nên tích hợp LEA cho các trường hợp sử dụng sau:
Chia sẻ âm thanh: Người dùng có thể đồng thời chia sẻ nhiều luồng âm thanh với một hoặc nhiều thiết bị thu âm thanh. Âm thanh được đồng bộ hoá giữa thiết bị nguồn và các thiết bị đã kết nối.
Phát âm thanh: Người dùng có thể phát âm thanh cho bạn bè và gia đình, đồng thời kết nối với các chương trình phát sóng công khai để xem thông tin, giải trí hoặc hỗ trợ tiếp cận.
Hỗ trợ bộ mã hoá và giải mã âm thanh LC3: Đây là bộ mã hoá và giải mã âm thanh mặc định và thay thế bộ mã hoá và giải mã SBC dùng cho A2DP (phương tiện) và mSBC trong HFP (giọng nói). LC3 hiệu quả hơn, có thể định cấu hình lại và có chất lượng cao hơn.
Cải tiến tính năng lấy mẫu âm thanh: Tai nghe có thể duy trì chất lượng âm thanh đầu ra cao khi sử dụng micrô. Bluetooth phiên bản cũ làm giảm chất lượng âm thanh khi sử dụng micrô Bluetooth. Với BLE Audio, tốc độ lấy mẫu đầu vào và đầu ra có thể đạt 32 kHz.
Micrô âm thanh nổi: Thiết bị nghe có thể ghi âm bằng micrô âm thanh nổi để cải thiện âm thanh không gian.
Hỗ trợ hồ sơ trợ thính (HAP): HAP mang đến cho người dùng khả năng hỗ trợ tiếp cận và sử dụng tốt hơn so với các giao thức ASHA trước đây. Người dùng có thể sử dụng thiết bị trợ thính để thực hiện cuộc gọi điện thoại và ứng dụng VoIP.
Hỗ trợ giao thức thuộc tính nâng cao (EATT): EATT cho phép nhà phát triển gửi nhiều lệnh cùng một lúc đến thiết bị nghe đã ghép nối.
Các trường hợp chính
Có 4 loại trường hợp sử dụng chính:
Đàm thoại: Các ứng dụng quay số và VoIP yêu cầu định tuyến giao tiếp có độ trễ thấp cung cấp âm thanh chất lượng cao và tiêu thụ ít pin hơn.
Chơi trò chơi: Tính năng phát đồng thời qua micrô và độ trung thực cao cho phép trò chơi truyền trực tuyến âm thanh chất lượng cao đến thiết bị nghe. Ứng dụng trò chơi có thể truy cập vào đầu vào âm thanh BLE khi trò chơi kích hoạt micrô Bluetooth sẵn sàng sử dụng. Sau đó, khi người chơi bắt đầu cuộc trò chuyện trực tiếp với người chơi khác, ứng dụng trò chơi có thể sử dụng dữ liệu micrô mà không bị trễ.
Nội dung nghe nhìn: Ứng dụng đa phương tiện được phép đặt thiết bị ưu tiên của trình quản lý âm thanh. Người dùng có thể ghi đè giá trị này bằng cách thay đổi thiết bị mà họ muốn dùng trong phần cài đặt của hệ thống.
Hỗ trợ tiếp cận: Các thiết bị trợ thính hỗ trợ Âm thanh BLE hiện có thể sử dụng micrô, cho phép người dùng liên tục sử dụng thiết bị trợ thính để gọi điện.
Các API và phương thức của Âm thanh BLE
Bạn cần có các API và phương thức sau để hỗ trợ thiết bị nghe BLE Audio:
Trình quản lý âm thanh
setCommunicationDevice()
chọn thiết bị âm thanh cần dùng cho các trường hợp sử dụng liên lạc, chẳng hạn như cuộc gọi thoại hoặc cuộc gọi video. Các ứng dụng trò chuyện bằng giọng nói hoặc video có thể sử dụng phương thức này để chọn một thiết bị âm thanh khác với thiết bị mà nền tảng chọn theo mặc định. API này thay thế các API không dùng nữa sau đây:startBluetoothSco()
,stopBluetoothSco()
vàsetSpeakerphoneOn()
.clearCommunicationDevice()
được gọi sau khi ứng dụng của bạn kết thúc một lệnh gọi hoặc phiên để giúp đảm bảo người dùng có trải nghiệm chất lượng cao khi di chuyển giữa các ứng dụng.
BluetoothProfile
BluetoothLeAudio
kiểm soát dịch vụ bluetooth thông qua đối tượng proxy.
Telecom InCallService
InCallService#requestCallEndpointChange()
thay thế các APIInCallService.setAudioRoute()
vàInCallService.requestBluetoothAudio()
không dùng nữa để cho phép các ứng dụng yêu cầu định tuyến âm thanh đến mộtCallEndpoint
cụ thể. Ứng dụng không được xác địnhCallEndpoint
của riêng mình khi yêu cầu thay đổi. Thay vào đó, điểm cuối mới phải là một trong các điểm cuối hợp lệ doInCallService.onAvailableCallEndpointsChanged(java.util.List)
cung cấp.CallEndpoint.TYPE_BLUETOOTH
sẽ chuyển luồng âm thanh qua Bluetooth.- Các API
InCallService
nêu trên được thiết kế để ứng dụng điện thoại mặc định trên điện thoại Android hoặc các nền tảng gọi khác như thiết bị đeo, ô tô hoặc các thiết bị Bluetooth khác có thể muốn ảnh hưởng đến việc định tuyến âm thanh.
Điều khiển cuộc gọi viễn thông
- Lớp
CallControl
mới được giới thiệu trong API cấp 34 để thay thếConnection
vàConnectionService
chỉ dành cho các ứng dụng VoIP. CallControl.requestCallEndpointChange()
cũng yêu cầu thay đổiCallEndpoint
. API này thay thế các APIConnection.requestBluetoothAudio()
vàConnection.setAudioRoute()
không dùng nữa.- Ngoài các API nền tảng Viễn thông đã cập nhật, bạn nên sử dụng thư viện Jetpack Viễn thông khi xây dựng ứng dụng gọi thoại và/hoặc gọi video. Thư viện này có thể đơn giản hoá đáng kể quy trình tích hợp và cải thiện tính năng gọi VoIP trên tất cả các nền tảng Android.
Thông tin về thiết bị âm thanh
AudioDeviceInfo.TYPE_BLE_HEADSET
mô tả loại thiết bị âm thanh là thiết bị LEA. Dùng để xác định xem thiết bị nghe có phải là thiết bị LEA hay không.
Trình ghi âm thanh
setPreferredDevice()
đặt thiết bị ưu tiên để định tuyến âm thanh sử dụng. Người dùng có thể ghi đè chế độ cài đặt này trong phần cài đặt hệ thống.
Bộ chuyển đổi Bluetooth
isLeAudioSupported()
sẽ trả về nếu phần cứng của nền tảng hỗ trợ LEA.isLeAudioBroadcastSourceSupported()
sẽ trả về nếu phần cứng của nền tảng hỗ trợ LEA.
Hướng dẫn dựa trên trường hợp sử dụng
Dưới đây là các nguyên tắc triển khai LEA dựa trên các trường hợp sử dụng cụ thể.
Ứng dụng giao tiếp bằng giọng nói
Các ứng dụng giao tiếp bằng giọng nói có thể chọn quản lý việc định tuyến âm thanh và trạng thái thiết bị bằng cách tự quản lý trạng thái của chúng hoặc bằng cách sử dụng Telecom API để thực hiện việc định tuyến âm thanh và logic trạng thái cho bạn.
Tự quản lý: Đối với các ứng dụng hiện đang sử dụng
startBluetoothSco()
,stopBluetoothSco()
vàsetSpeakerphoneOn()
hoặc muốn tự quản lý trạng thái định tuyến âm thanh, hãy làm theo Hướng dẫn về cuộc gọi tự quản lý của Trình quản lý âm thanh.Được quản lý: Dùng thư viện Jetpack viễn thông hoặc API nền tảng viễn thông để tạo ứng dụng gọi âm thanh hoặc video.
Hai giải pháp này giúp bạn nhanh chóng và dễ dàng điều khiển việc định tuyến âm thanh cũng như chuyển đổi giữa các thiết bị Bluetooth. Để biết thêm thông tin, hãy xem Hướng dẫn về cuộc gọi do nhà cung cấp dịch vụ viễn thông quản lý.
Ứng dụng ghi âm
- Máy ghi âm đa phương tiện: Giờ đây, khi ghi âm bằng Máy ghi âm đa phương tiện, bạn có thể ghi âm ở chế độ âm thanh nổi nếu thiết bị nghe Bluetooth hỗ trợ LEA. Hãy xem Hướng dẫn ghi âm.
Đề xuất về tai nghe LE Audio (LEA)
Khi ngày càng có nhiều tai nghe LEA được phát hành, chúng tôi đã phát hiện ra các vấn đề trong quá trình kiểm thử thực tế làm giảm trải nghiệm người dùng. Quy cách này không bao gồm tất cả các vấn đề này. Bảng sau đây cung cấp danh sách các đề xuất mà nhà sản xuất tai nghe LEA nên tuân thủ để cải thiện trải nghiệm toàn diện cho người dùng Android.
Mô tả | Ngữ cảnh |
---|---|
Hỗ trợ tính năng Tạo khoá truyền tải chéo (CTKD) cho tai nghe hai chế độ:
|
Hầu hết tai nghe LEA mới sẽ có chế độ kép cho đến khi thị phần thiết bị nguồn LEA tăng lên. Điều quan trọng là người dùng có thể ghép nối tai nghe ở chế độ kép một cách liền mạch và thiết lập cả hai phương thức truyền tải. Bước này cũng rất quan trọng đối với tính năng Ghép nối nhanh của Google. |
Hỗ trợ Thông báo được nhắm mục tiêu (TA) nếu bạn muốn tai nghe LEA kết nối lại một cách đáng tin cậy với thiết bị nguồn. Tai nghe âm thanh LE phải sử dụng TA để yêu cầu kết nối đến từ các thiết bị trung tâm. Sẽ được thêm vào BT SIG sắp tới. |
Không giống như trong mô hình phân trang của BR/EDR, trong đó điện thoại hoặc tai nghe có thể bắt đầu kết nối, kết nối trong LEA phải do thiết bị trung tâm bắt đầu. Hiện tại, nhiều tai nghe không sử dụng TA, nghĩa là thiết bị trung tâm có thể không kết nối lại được với thiết bị ngoại vi nếu không thêm thiết bị ngoại vi đó vào Danh sách cho phép. Tuy nhiên, giải pháp danh sách cho phép có thể ngăn tai nghe kết nối với một thiết bị trung tâm khác. Do đó, tai nghe LEA cần hỗ trợ đúng cách các TA để thiết bị trung tâm có thể kết nối lại một cách đáng tin cậy mà không cần các giải pháp có thể làm gián đoạn kết nối nhiều điểm. |
Tối ưu hoá khả năng phát hiện cho tai nghe ở chế độ kép
|
Điều này giúp tai nghe LEA ở chế độ kép không xuất hiện dưới dạng mục nhập trùng lặp trong phần cài đặt Bluetooth, điều này có thể gây nhầm lẫn cho người dùng và làm giảm trải nghiệm ghép nối LEA.
Cuộc bầu cử nhà lãnh đạo linh động đặc biệt quan trọng đối với các thiết bị chế độ kép được ghép nối tăng dần. Ví dụ: nếu chỉ có một tai nghe trong lần ghép nối đầu tiên, thì tai nghe đó sẽ tự hiển thị dưới dạng thiết bị hai chế độ. Sau này, khi người dùng ghép nối với tai nghe thứ hai, họ chỉ cần ghép nối với thành phần LE và CSIP sẽ đảm bảo rằng chúng được nhóm lại với nhau trên Android. Bạn nên sử dụng địa chỉ nhận dạng trong quá trình ghép nối vì thành phần BR/EDR đã hiển thị địa chỉ công khai của thiết bị cho các thiết bị ở gần. |
Hỗ trợ Giao thức thuộc tính nâng cao (EATT). | Giảm độ trễ khi ghép nối và kết nối. |
Hỗ trợ Lưu vào bộ nhớ đệm GATT mạnh mẽ. | Giảm độ trễ kết nối, đặc biệt là đối với tai nghe TWS. |
Hỗ trợ cấp quyền truy cập phụ cho kết nối. | Cho phép lên lịch gói linh hoạt hơn và có thể tiết kiệm pin. |
Đảm bảo rằng trong quá trình xử lý trước và sau cho cả phát và quay video, quy trình xử lý tín hiệu có thể hoạt động ở tần số 16, 24, 32 và 48 kHz cũng như hỗ trợ tần số cao hơn. | Tận dụng tốc độ lấy mẫu cao hơn được hỗ trợ cho lệnh gọi LEA hoặc đường dẫn chụp VoIP và việc phát nội dung nghe nhìn. |
Hỗ trợ Chế độ kiểm soát nguồn điện LE | Quản lý nguồn hiệu quả hơn |
Hỗ trợ Loại ngữ cảnh
Mô tả | Ngữ cảnh |
---|---|
Sử dụng tất cả các loại ngữ cảnh được chỉ định trong Số được chỉ định 6.12.3, trừ phi tai nghe không hỗ trợ rõ ràng một loại ngữ cảnh nhất định. | Ví dụ: nếu không hỗ trợ loại ngữ cảnh "Trò chơi", thì Android sẽ gửi âm thanh trò chơi. Cụ thể, hãy lưu ý rằng loại ngữ cảnh "Không xác định" không có nghĩa là "bất kỳ loại ngữ cảnh nào" và không bao gồm các loại ngữ cảnh không được hỗ trợ. |
Khi thiết bị trung tâm tương tác với ASCS của thiết bị ngoại vi, thiết bị ngoại vi phải kết nối với MCS và TBS của thiết bị trung tâm. Thiết bị trung tâm không phải lúc nào cũng sử dụng âm thanh LE làm tuyến phát trực tuyến vì thiết bị này có thể quay lại sử dụng A2DP hoặc HFP. Thiết bị ngoại vi có thể sử dụng hoạt động tương tác ASCS để cho biết liệu thiết bị trung tâm có sử dụng âm thanh LE để truyền trực tuyến hay không. Một số ví dụ về hoạt động tương tác của ASCS là đọc, ghi và đăng ký thông báo. |