# @ohos.bluetooth.a2dp (蓝牙a2dp模块) a2dp模块提供了访问蓝牙音频接口的方法。 > **说明:** > > 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 ```js import a2dp from '@ohos.bluetooth.a2dp'; ``` ## a2dp.createA2dpSrcProfile createA2dpSrcProfile(): A2dpSourceProfile 创建a2dp profile实例。 **系统能力**:SystemCapability.Communication.Bluetooth.Core。 **返回值:** | 类型 | 说明 | | ----------------------------- | ---------- | | A2dpSourceProfile | 返回该profile的实例。 | **示例:** ```js try { let a2dpProfile = a2dp.createA2dpSrcProfile(); console.info('a2dp success'); } catch (err) { console.error('errCode: ' + err.code + ', errMessage: ' + err.message); } ``` ## A2dpSourceProfile 使用A2dpSourceProfile方法之前需要创建该类的实例进行操作,通过createA2dpSrcProfile()方法构造此实例。 ### connect connect(deviceId: string): void 发起设备的A2dp服务连接请求。 **系统接口**:此接口为系统接口。 **需要权限**:ohos.permission.ACCESS_BLUETOOTH **系统能力**:SystemCapability.Communication.Bluetooth.Core。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | | deviceId | string | 是 | 远端设备地址。 | **错误码**: 以下错误码的详细介绍请参见[蓝牙服务子系统错误码](../errorcodes/errorcode-bluetoothManager.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------- | |2900001 | Service stopped. | |2900003 | Bluetooth switch is off. | |2900004 | Profile is not supported. | |2900099 | Operation failed. | **示例:** ```js try { let a2dpSrc = a2dp.createA2dpSrcProfile(); a2dpSrc.connect('XX:XX:XX:XX:XX:XX'); } catch (err) { console.error('errCode: ' + err.code + ', errMessage: ' + err.message); } ``` ### disconnect disconnect(deviceId: string): void 断开设备的a2dp服务连接。 **系统接口**:此接口为系统接口。 **需要权限**:ohos.permission.ACCESS_BLUETOOTH **系统能力**:SystemCapability.Communication.Bluetooth.Core。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | | deviceId | string | 是 | 远端设备地址。 | **错误码**: 以下错误码的详细介绍请参见[蓝牙服务子系统错误码](../errorcodes/errorcode-bluetoothManager.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------- | |2900001 | Service stopped. | |2900003 | Bluetooth switch is off. | |2900004 | Profile is not supported. | |2900099 | Operation failed. | **示例:** ```js try { let a2dpSrc = a2dp.createA2dpSrcProfile(); a2dpSrc.disconnect('XX:XX:XX:XX:XX:XX'); } catch (err) { console.error('errCode: ' + err.code + ', errMessage: ' + err.message); } ``` ### getPlayingState getPlayingState(deviceId: string): PlayingState 获取设备的播放状态。 **需要权限**:ohos.permission.ACCESS_BLUETOOTH **系统能力**:SystemCapability.Communication.Bluetooth.Core。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | | device | string | 是 | 远端设备地址。 | **返回值:** | 类型 | 说明 | | ----------------------------- | ---------- | | [PlayingState](#PlayingState) | 远端设备的播放状态。 | **错误码**: 以下错误码的详细介绍请参见[蓝牙服务子系统错误码](../errorcodes/errorcode-bluetoothManager.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------- | |2900001 | Service stopped. | |2900003 | Bluetooth switch is off. | |2900004 | Profile is not supported. | |2900099 | Operation failed. | **示例:** ```js try { let a2dpSrc = a2dp.createA2dpSrcProfile(); let state = a2dpSrc.getPlayingState('XX:XX:XX:XX:XX:XX'); } catch (err) { console.error('errCode: ' + err.code + ', errMessage: ' + err.message); } ``` ## PlayingState 枚举,蓝牙A2DP 播放状态。 **系统能力**:SystemCapability.Communication.Bluetooth.Core。 | 名称 | 值 | 说明 | | ----------------- | ------ | ------- | | STATE_NOT_PLAYING | 0x0000 | 表示未播放。 | | STATE_PLAYING | 0x0001 | 表示正在播放。 |