如何在 Android 中启用 A2DP 接收器功能?

Posted

技术标签:

【中文标题】如何在 Android 中启用 A2DP 接收器功能?【英文标题】:How to enable A2DP sink functionality in Android? 【发布时间】:2012-04-28 04:22:52 【问题描述】:

我正在开发一个使用 Gingerbread 2.3.4 作为操作系统的定制嵌入式设备。 现在该设备应该能够播放来自其他支持 A2DP 的设备(例如 iPhone 或其他 android 设备)的音频流。我知道 Gingerbread 包含 Bluez 堆栈 4.69,它具有 A2DP 接收器功能。但是,我怀疑 Android 是否公开了这些 API。

您对我如何实现此功能有任何想法吗?由于我不是在开发通用的 Android 应用程序,因此将不胜感激任何类型的非标准方法。我认为即使在Android中也可以通过DBus接口直接访问Bluez堆栈。

【问题讨论】:

【参考方案1】:

Bluez 可以支持 A2DP 接收器。 但 Android 框架不启用此配置文件。

您可以使用硬编码实践来实现蓝牙设备路径

【讨论】:

那么您的意思是您需要为此使用 NDK 吗?或者有没有办法启用 A2DP 蓝牙接收器? 这取决于您的应用程序。看清楚Android框架的蓝牙API规范,要求Android操作系统为Android 3.0 HONEYCOMB或以上。 developer.android.com/reference/android/bluetooth/… 但是如果您希望您的应用程序支持 Froyo 和 Gingerbread 的这些功能,硬编码实践似乎是解决方案

以上是关于如何在 Android 中启用 A2DP 接收器功能?的主要内容,如果未能解决你的问题,请参考以下文章

Android 设备作为 A2DP 配置文件的接收器

android上a2dp sink的音质很糟糕。我该如何解决?

安卓设备之间的蓝牙音频流

在 Android 中通过蓝牙接收音频

如何在源代码中禁用/启用 android 接收器?

在外部蓝牙设备和 Android 手机之间传输音频