我正在尝试将一台运行Android4.1的安卓设备与一个支持a2dp的音频接收器配对。我可以在蓝牙设置屏幕上毫不费力地做到这一点,但我正在努力用代码来做到这一点。
基本上,我能够发现设备,但我无法通过套接字连接到它。也许我使用了错误的UUID,或者我应该使用预定义的android.bluetooth.BluetoothA2dp类。下面是我正在做的事情:
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
socket = device.createInsecureRfcommSocketToServiceRecord(uuid);
socket.connect();但是我得到了一个异常,声明它无法连接。
java.io.IOException: Service discovery failed
at android.bluetooth.BluetoothSocket$SdpHelper.doSdp(BluetoothSocket.java:403)
at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:213)我还尝试使用设备通过device.getUuids()提供的UUID进行连接,但这些都无助于连接到a2dp设备。
任何有关如何连接到a2dp设备的帮助都将不胜感激。谢谢。
发布于 2012-09-22 23:41:27
A2DP不是通过RFCOMM完成的,所以您不能使用createRfcommSocket API。数据直接通过具有指定协议多路复用is (一个用于控制,另一个用于流数据)的L2CAP流进行传输。
https://stackoverflow.com/questions/12542523
复制相似问题