如何以编程方式更改蓝牙编解码器?
我们可以在开发者设置中更改配对设备当前的蓝牙编解码器,如下所示。
是否有任何解决方法可以通过更改系统设置来以编程方式更改此设置?
We have an option of changing the current Bluetooth codec for the paired device in the Developer Settings, as shown below.
Is there any workaround by changing the system settings, to programmatically change this setting?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不幸的是,API 的标准实现不允许这样做。
但没有人阻止我们扩展标准 API。
扩展的API可以在这里获取。
接下来,我们获取BluetoothA2dp 上课并学习新方法:
getCodecStatus、getCodecConfig、getCodecType
我们收集 BluetoothCodecConfig 并应用 setCodecConfigPreference(device, newConfig)
示例:
对象:服务监听器
Unfortunately, the standard implementation of the API will not allow this to be done.
But no one is stopping us from extending the standard API.
Extended APIs can be obtained HERE
Next, we get the BluetoothA2dp class and pick up new methods:
getCodecStatus, getCodecConfig, getCodecType
We collect BluetoothCodecConfig and apply setCodecConfigPreference(device, newConfig)
Example:
object : ServiceListener
不是作为应用程序开发人员,因为编解码器协商是蓝牙堆栈的一部分。但如果您可以更改蓝牙堆栈源,则可能是可行的。在 appuals 有一篇很好的文章介绍了如何做到这一点:
如何修改Android 上的蓝牙堆栈可大幅增强蓝牙音频质量
Not as an application developer, as the codec negotiation is part of the Bluetooth stack. But if you can change the Bluetooth stack sources, it might be possible. Over at appuals there is a nice article on how to do this:
How to Modify Bluetooth Stacks on Android for Greatly Enhanced Bluetooth Audio Quality