我需要能够通过蓝牙发送和接收音频,似乎 A2DP 就是这样做的
使用这里给出的代码,我设法让我的手机检测并与远程蓝牙设备配对,然后建立一个 A2DP 连接,将安卓设备的所有音频输出通过蓝牙发送到远程设备
我以前能够通过 RFCOMM 与同一个远程蓝牙设备进行这种两种方式的数据通信(虽然安卓手机需要是发起通信的一方,但我无法通过远程设备进行,尽管我知道这是可能的)。一旦 RFCOMM 链接建立,android 设备就可以向远程设备发送数据,也可以从远程设备接收数据
我现在需要的是类似的东西,但对于音频(最好使用 A2DP,但我愿意使用其他任何东西,只要它能完成工作)。在四处窥探时,我得到提示,无法通过 A2DP 在手机上接收音频数据(至少是一个无根的普通数据,生根不是我的选择)(例如,请参见此处)。但我也见过允许完全通过蓝牙拨打电话的耳机(嗯,实际上是无线的,我假设它必须是蓝牙)。例如,来电时,您只需按下蓝牙耳机上的一个按钮,即可通话和收听对方。如果手机不能用作音频接收器,那么这样的耳机是如何做到的呢?
我需要一些关于如何编写 android 应用程序以通过蓝牙发送和接收音频数据的想法(为简单起见,让我们认为它类似于Bluechat 示例程序,但涉及音频而不是文本)。有可能(通过java)吗?只能通过NDK吗?市面上的设备是如何做到的?它与 A2DP 的配置文件不同吗?
PS:我的测试设备是带有 Gingerbread 的 Samsung Galaxy 2(手机)和带有 KitKat 的 Asus Nexus 7(平板电脑)。顺便说一句,远程蓝牙设备(它是一个开发板)附带一个示例项目,该项目应该将板变成 A2DP 音频源。如果我在板上运行这个示例项目,使用手机和平板电脑的内置蓝牙设置,我可以与远程板配对,但安卓设备不接收任何音频。