android a2dp连接 广播接收器,android – 如何连接到蓝牙a2dp设备?

我试图将运行android 4.1的Android设备与支持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设备的帮助将不胜感激.谢谢.

解决方法:

A2DP不是通过RFCOMM完成的,因此您无法使用createRfcommSocket API.数据通过L2CAP流直接传输,具有指定的协议mux ID(一个用于控制,另一个用于流数据).

标签:android,bluetooth,a2dp

来源: https://codeday.me/bug/20190704/1374031.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值