蓝牙A2DP配置文件

时间:2010-10-08 06:39:50

标签: android bluetooth

我对蓝牙应用开发完全陌生。什么是蓝牙配置文件?它是设备的硬件规格吗?带有蓝牙的Android手机可以作为A2DP配置文件中的发送方和接收方吗?

2 个答案:

答案 0 :(得分:4)

蓝牙配置文件是关于蓝牙设备的协议和功能的规范。它不仅仅是硬件规范,因为实现配置文件通常依赖于软件堆栈和硬件芯片。您可以从wikipedia page找到更多信息。

就A2DP而言,它专为音乐流媒体而设计。它不能用于任意数据通信(如果你的意思是“发送者和接收者”)。如果您正在寻找通过蓝牙传输的通用数据通信机制,您需要串行端口配置文件(SPP)(有些人也称之为RFCOMM)。 Android SDK用户指南提供了有关如何使用RFCOMM API的详细信息:http://developer.android.com/guide/topics/wireless/bluetooth.html

答案 1 :(得分:1)

有两个A2DP配置文件:A2DP源(发送音频的设备)和A2DP接收器(接收和播放音频的设备),如蓝牙耳机。

您的手机硬件支持这两种配置文件,但A2DP Sink并未在Android中实现,因此您无法编写应用程序来使用它。您需要修改Android源代码并构建自己的ROM。

如果您想这样做,您需要一台具有可用源代码的设备(Nexus或CyanogenMod支持的设备)。

如果您使用Android 5或更高版本,它将很难启用A2DP接收器,因为它已经包含在源中但已禁用。

如果您使用Android 4.2 -4.4,则需要从Android 5移植A2DP接收器类。

对于Android之前的4.2事情是不同的,因为他们使用了一个名为BlueZ的蓝牙堆栈(现在他们使用Bluedroid),你可以通过生根设备和编辑" audio.conf"来激活A2DP Sink。文件,但不幸的是,即使你的手机将自己宣传为A2DP接收器,你将听不到声音,因为它没有路由到扬声器并且路由它你必须建立一个修改过的ROM。

构建ROM可能看起来很复杂,但事实并非如此,特别是如果您使用Android 5或更高版本,就像我之前所说的那样,SINK配置文件已经存在,您需要做的就是输入6行终端(您需要一个Linux操作系统)并编辑3行代码以启用A2SP接收器并构建您自己的ROM。 如果您对此感兴趣,我可以提供更多详细信息。