我有一台 PC(运行 java 程序)、蓝牙加密狗(支持 A2DP)和 Android 设备(2.3.6,也支持 A2DP)。
我想要:
- 通过蓝牙将实时语音数据从 PC 的麦克风发送到 android 设备
- 通过蓝牙将实时语音数据从 Android 设备的麦克风发送到 PC
我发现了这个问题,丹尼斯说“电话通常只是源设备(可以流式传输到接收器设备的流的源),接收器是耳机或蓝牙扬声器。”。所以似乎有可能实现案例2?或不?那么案例1,是不是不可能实现呢?
确实,Android 手机是唯一的A2DP
源设备。
遗憾的是,如果您决定依赖配置文件来传输音频,那么您的第一种情况是不可能实现的,因为当远程设备想要将音频流式传输到您的手机时A2DP
,Android 没有实现处理BlueZ广告所需的回调。
第二个用例是可能的,因为您有一台支持蓝牙的 PC 和一些很棒的应用程序,这些应用程序将解码蓝牙堆栈中的声音并将其路由到扬声器。我曾经设法使用PulseAudio
and pulseaudio-module-bluetooth
on重现这个用例Ubuntu 12.10
。
这是一个工作示例,展示了一旦连接的 BT 设备开始流式传输,如何管理声音的路由。这是另一个。它们都发生在 Linux 上,但我从未在 Windows 上这样做过。
为了完整起见,这是我写的另一个 SO 答案,详细介绍了如何在 Android 上实现接收A2DP
器功能。
编辑 :
没有什么可以阻止您在 Android 设备上通过蓝牙实现自己的音频流协议,这将起作用,但由于它不是标准,它永远不会符合系统内置的蓝牙配置文件(A2DP、HFP ... )。