蓝牙低功耗音频 (LEA) 可确保用户能够接收高保真音频,而不会牺牲电池续航时间,并可让用户在不同的使用情形之间无缝切换。Android 13(API 级别 33)包含对 LEA 的内置支持。
在 LEA 源设备市场份额不断扩大之前,大多数 LEA 耳机都将采用双模式。用户应该能够在其双模式耳机上配对和设置这两种传输方式。
用例
您可能需要针对以下用例集成 LEA:
共享音频:用户可以同时与一个或多个音频接收器设备共享多个音频流。音频会在源设备和已连接的设备之间同步。
广播音频:用户可向亲朋好友广播音频,还可连接公共广播,以便获取信息、娱乐或无障碍用途。
LC3 音频编解码器支持:这是默认的音频编解码器,取代了 HFP(语音)中用于 A2DP(媒体)和 mSBC 的 SBC 编解码器。LC3 效率更高、可重新配置且质量更高。
改进了音频采样:使用麦克风时,耳机可以保持较高的输出音频质量。使用蓝牙麦克风时,标准蓝牙会降低音频质量。使用 BLE 音频时,输入和输出采样可以达到 32 kHz。
立体声麦克风:耳穿戴设备可以使用立体声麦克风录制音频,增强空间音频效果。
助听器配置文件 (HAP) 支持:与以前的 ASHA 协议相比,HAP 为用户提供了更好的无障碍功能和使用率。用户可以将其助听器用于通话和 VoIP 应用。
增强属性协议 (EATT) 支持:EATT 允许开发者同时向配对的穿戴式设备发送多个命令。
主要场景
用例主要有以下四类:
对话式:需要低延迟通信路由的拨号器和 VoIP 应用可提供高质量的音频,并且耗电量更低。
游戏:采用并发麦克风和高保真播放功能,游戏可以将高品质音频流式传输到耳穿戴设备。当游戏配备蓝牙麦克风且可供使用时,游戏应用便可以访问 BLE 音频输入。然后,当玩家与对等玩家开始实时对话时,游戏应用可以立即使用麦克风数据。
媒体:允许媒体应用设置音频管理器的首选设备。用户可以通过在系统设置中更改首选设备来覆盖此设置。
无障碍功能:支持 BLE 音频的助听器现在可以使用麦克风,以便用户持续使用助听器进行通话。
BLE 音频 API 和方法
如需支持 BLE 音频耳穿戴设备,需要以下 API 和方法:
音频管理器
setCommunicationDevice()
选择应用于通信用例(例如语音通话或视频通话)的音频设备。语音或视频聊天应用可以使用此方法选择其他音频设备,而不是平台默认选择的音频设备。此 API 取代了以下已废弃的 API:startBluetoothSco()
、stopBluetoothSco()
和setSpeakerphoneOn()
。clearCommunicationDevice
会在您的应用完成通话或会话后调用,以帮助确保用户在不同应用之间切换时获得良好的体验。
BluetoothProfile
BluetoothLeAudio
通过代理对象控制蓝牙服务。
电信通话服务
setAudioRoute()
用于设置音频路径到当前活跃设备。CallAudioState.ROUTE_BLUETOOTH
通过蓝牙定向音频流。requestBluetoothAudio()
请求将音频路由到特定蓝牙设备。
音频设备信息
AudioDeviceInfo.TYPE_BLE_HEADSET
将音频设备类型描述为 LEA 设备。用于标识助听设备是否为 LEA 设备。
录音器
setPreferredDevice()
用于设置音频路由要使用的首选设备。用户可以在系统设置中覆盖此设置。
蓝牙适配器
- 如果平台的硬件支持 LEA,则返回
isLeAudioSupported()
。 - 如果平台的硬件支持 LEA,则返回
isLeAudioBroadcastSourceSupported()
。
基于应用场景的指南
以下是根据具体使用情形实现 LEA 的指南。
语音通信应用
语音通信应用可以选择通过自行管理其状态或使用为您处理音频路由和状态逻辑的 Telecom API 来管理音频路由和设备状态。
自行管理:对于目前使用
startBluetoothSco()
、stopBluetoothSco()
和setSpeakerphoneOn()
的应用,或想要自行管理音频路由状态,请遵循音频管理器自行管理的通话指南。受管理:使用 Telecom API 创建音频或视频通话应用。 借助此 API,您可以快速轻松地控制音频路由以及在蓝牙设备之间切换。如需了解详情,请参阅电信管理的通话指南。
录音应用
- 媒体录音机:使用媒体录音机录制音频时,如果蓝牙耳机支持 LEA,则您现在可以采用立体声进行录音。请参阅录音指南。
LE 音频 (LEA) 耳机建议
随着越来越多的 LEA 耳机的发布,我们在实际测试中发现了会降低用户体验的问题。本规范并未涵盖所有这些问题。下表列出了 LEA 耳机制造商应遵循的建议,以改善 Android 用户的端到端体验。
说明 | 语境 |
---|---|
支持适用于双模式耳机的跨传输密钥派生 (CTKD):
|
在 LEA 源设备市场份额不断扩大之前,大多数新的 LEA 耳机都将采用双模式。请务必确保用户能够无缝配对双模式耳机并同时设置这两种传输方式。这对 Google 快速配对来说也很重要。 |
如果您希望 LEA 耳机可靠地重新连接到源设备,请支持目标公告 (TA)。 LE 音频入耳式耳机应使用 TA 请求从中央设备的传入连接。 将添加到即将推出的 BT SIG。 |
在 BR/EDR 的分页模型中,连接可由手机或耳机发起,LEA 中的连接必须由中央设备发起。目前,许多耳机不使用 TA,这意味着,如果不将外围设备列入许可名单,中央设备可能无法重新连接到外围设备。但是,许可名单解决方法可能会阻止耳机连接到其他中央设备。因此,LEA 耳机必须正确支持 TA,以便中央设备能够可靠地重新连接,而无需可能会中断多点连接的解决方法。 |
优化了双模式入耳式耳机的可检测性
|
这可以防止双模式 LEA 入耳式耳机在蓝牙设置中显示为重复条目,这可能会让用户感到困惑,并影响 LEA 配对体验。
动态领导者选举对于增量配对的双模式设备尤其重要。例如,如果初始配对时只有一个入耳式耳机可用,那么它应将自身显示为双模式设备。当用户稍后与第二只入耳式耳机配对时,他们只需要与 LE 组件配对,CSIP 会确保它们在 Android 上归为一组。 建议在配对期间使用身份地址,因为 BR/EDR 组件已经向附近的设备公开了设备的公共地址。 |
支持增强型属性协议 (EATT)。 | 缩短配对和连接延迟时间。 |
支持强大的 GATT 缓存。 | 减少连接延迟,尤其是对于 TWS 耳机。 |
支持连接子分级。 | 可实现更灵活的数据包调度,并有望节省电池电量。 |
确保在播放和捕获的预处理和后处理期间,信号处理管道可以 16、24、32 和 48 kHz 运行,并且支持更高的频率。 | 充分利用 LEA 通话或 VoIP 捕获路径和媒体播放支持的较高采样率。 |
支持 LE 电源控制 | 更好的电源管理 |
上下文类型支持
说明 | 语境 |
---|---|
使用分配数字 6.12.3 中指定的所有上下文类型,除非耳机明确不支持给定的上下文类型。 | 例如,如果系统不支持“游戏”上下文类型,则 Android 会发送游戏声音。需要特别注意的是,“未指定”上下文类型并不表示“任何上下文类型”,也不涵盖不受支持的上下文类型。 |
当中央设备与外围设备的 ASCS 交互时,外围设备必须连接到中央设备的 MCS 和 TBS。 中央设备可能不会总是使用 LE 音频作为流式传输路由,因为它可能会回退为使用 A2DP 或 HFP。外围设备可以使用 ASCS 交互来指示中央设备是否会使用 LE 音频进行流式传输。 ASCS 交互的一些示例包括读取、写入和注册通知。 |