BluetoothA2dpSink
主要实现a2dp协议及其接口,主要连上后接收音频数据
A2DP 全名是Advenced Audio Distribution Profile 蓝牙音频传输模型协定.
source端作为音频的输入端对音频数据进行编码后,通过两个设备之间建立的ACL链路发送给对方设备(sink端),在sink端收到音频数据后,进行解码操作还原出音频完成audio数据传输。
BluetoothA2dpSink初始化
// 初始化
bluetoothAdapter.getProfileProxy(context, serviceListener, BluetoothProfile.A2DP_SINK);
//还要实现BluetoothProfile.ServiceListener接口,在onServiceConnected中获取bluetoothA2dpSink对象
private BluetoothProfile.ServiceListener serviceListener = new BluetoothProfile.ServiceListener()
{
@Override
public void onServiceDisconnected(int arg0)
{
}
@Override
public void onServiceConnected(int profile, BluetoothProfile proxy)
{
if (profile == BluetoothProfile.A2DP_SINK)
{
bluetoothA2dpSink = (BluetoothA2dpSink) proxy;
}
}
};
//销毁
bluetoothAdapter.closeProfileProxy(BluetoothProfile.A2DP_SINK, bluetoothA2dpSink);
BluetoothA2dpSink连接
// 连接
bluetoothA2dpSink.connect(BluetoothDevice);
//断开
bluetoothA2dpSink.disconnect(BluetoothDevice);