BluetoothAvrcpController
主要控制蓝牙音乐的播放暂停
AVRCP全名是Audio Video Remote Cortrol Profile音频/视频远程控制配置文件。
BluetoothAvrcpController初始化
//初始化
bluetoothAdapter.getProfileProxy(context, mAvrcpServiceListener, BluetoothProfile.AVRCP_CONTROLLER);
//还要实现BluetoothProfile.ServiceListener接口,在onServiceConnected中获取BluetoothAvrcpController对象
private BluetoothProfile.ServiceListener mAvrcpServiceListener = new BluetoothProfile.ServiceListener()
{
@Override
public void onServiceConnected(int profile, BluetoothProfile proxy)
{
if (profile == BluetoothProfile.AVRCP_CONTROLLER)
{
log.d("AvrcpControllerService connected");
mAvrcpController = (BluetoothAvrcpController) proxy;
}
}
@Override
public void onServiceDisconnected(int profile)
{
if (profile == BluetoothProfile.AVRCP_CONTROLLER)
{
log.d("AvrcpControllerService disconnected");
mAvrcpController = null;
}
}
};
//销毁
bluetoothAdapter.closeProfileProxy(BluetoothProfile.AVRCP_CONTROLLER, mAvrcpController);
BluetoothAvrcpController控制
mAvrcpController.sendPassThroughCmd(BluetoothDevice, playAction, BluetoothAvrcp.PASSTHROUGH_STATE_PRESS);
mAvrcpController.sendPassThroughCmd(BluetoothDevice, playAction, BluetoothAvrcp.PASSTHROUGH_STATE_RELEASE);
//常用的playAction在BluetoothAvrcp这个类中
public static final int PASSTHROUGH_ID_PLAY = 0x44; /* play */
public static final int PASSTHROUGH_ID_STOP = 0x45; /* stop */
public static final int PASSTHROUGH_ID_PAUSE = 0x46; /* pause */