文档管理中心
您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明
API参考系统网络Connectivity Kit(短距通信服务)ArkTS API@ohos.bluetooth.a2dp (蓝牙a2dp模块)

@ohos.bluetooth.a2dp (蓝牙a2dp模块)

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

本模块提供基于增强音频分发协议(Advanced Audio Distribution Profile,A2DP)的蓝牙媒体音频能力,支持获取媒体播放状态和连接状态等方法。

说明

本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

收起
自动换行
深色代码主题
复制
  1. import { a2dp } from '@kit.ConnectivityKit';

BaseProfile

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

type BaseProfile = baseProfile.BaseProfile

基础Profile接口定义,提供监听和获取连接状态等公共能力。

系统能力:SystemCapability.Communication.Bluetooth.Core

展开
类型 说明
baseProfile.BaseProfile 基础Profile接口定义。

a2dp.createA2dpSrcProfile

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

createA2dpSrcProfile(): A2dpSourceProfile

创建蓝牙媒体A2DP Source实例。通过该实例,可以使用本端作为A2DP Source设备时提供的各项方法,如:获取和其他设备间的蓝牙媒体音频播放状态。

系统能力:SystemCapability.Communication.Bluetooth.Core

返回值:

展开
类型 说明
A2dpSourceProfile 返回蓝牙媒体音频源实例。

错误码

以下错误码的详细介绍请参见通用错误码说明文档

展开
错误码ID 错误信息
401 Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
801 Capability not supported.

示例:

收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. try {
  3. let a2dpProfile = a2dp.createA2dpSrcProfile();
  4. console.info('a2dp success');
  5. } catch (err) {
  6. console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
  7. }

A2dpSourceProfile

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

该实例表示蓝牙媒体音频中的A2DP Source角色。

  • 该类继承于BaseProfile,因此可以使用其父类中的方法。
  • 使用该类的方法前,需通过createA2dpSrcProfile方法构造该类的实例。
  • 和该实例角色相对应的是A2DP Sink

getPlayingState

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

getPlayingState(deviceId: string): PlayingState

获取本端和对端设备间的媒体音频播放状态。例如,在音乐播放器应用中可用于检查蓝牙音频是否正在播放,从而同步更新界面的播放/暂停按钮状态。

  • 从API version 21开始,此接口支持使用对端设备的实际MAC地址获取媒体音频播放状态。

需要权限:ohos.permission.ACCESS_BLUETOOTH

系统能力:SystemCapability.Communication.Bluetooth.Core

参数:

展开
参数名 类型 必填 说明
deviceId string 对端设备地址,例如:"XX:XX:XX:XX:XX:XX"。

返回值:

展开
类型 说明
PlayingState 蓝牙媒体音频播放状态。

错误码

以下错误码的详细介绍请参见通用错误码说明文档蓝牙服务子系统错误码

展开
错误码ID 错误信息
201 Permission denied.
401 Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed.
801 Capability not supported.
2900001 Service stopped.
2900003 Bluetooth disabled.
2900004 Profile not supported.
2900099 Operation failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. try {
  3. let a2dpSrc = a2dp.createA2dpSrcProfile();
  4. let state = a2dpSrc.getPlayingState('XX:XX:XX:XX:XX:XX');
  5. } catch (err) {
  6. console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
  7. }

PlayingState

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,蓝牙媒体音频播放状态。

系统能力:SystemCapability.Communication.Bluetooth.Core

展开
名称 说明
STATE_NOT_PLAYING 0 未播放媒体音频。
STATE_PLAYING 1 正在播放媒体音频。

CodecInfo11+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

蓝牙媒体音频使用的编解码器。

系统能力:SystemCapability.Communication.Bluetooth.Core

展开
名称 类型 只读 可选 说明
codecType CodecType 编解码器类型,默认值为CODEC_TYPE_SBC。
codecBitsPerSample CodecBitsPerSample 每个采样点的位深,默认值为CODEC_BITS_PER_SAMPLE_NONE。
codecChannelMode CodecChannelMode 编解码器的声道模式,默认值为CODEC_CHANNEL_MODE_NONE。
codecSampleRate CodecSampleRate 编解码器的采样率,默认值为CODEC_SAMPLE_RATE_NONE。
codecBitRate19+ CodecBitRate 编解码器的码率,默认值为CODEC_BIT_RATE_ABR。
codecFrameLength19+ CodecFrameLength 编解码器的帧长,默认值为CODEC_FRAME_LENGTH_10MS。

CodecInfoList19+

Phone19+PC/2in119+Tablet19+TV19+Wearable19+

蓝牙媒体音频编解码器支持的能力集合。不同编解码器支持的位深、声道模式、采样率、码率和帧长类型与音频接收器设备端能力有关。

系统能力:SystemCapability.Communication.Bluetooth.Core

展开
名称 类型 只读 可选 说明
codecType CodecType 编解码器类型。
codecBitsPerSampleArray CodecBitsPerSample[] 编解码器支持的位深能力集合。
codecChannelModeArray CodecChannelMode[] 编解码器支持的声道模式能力集合。
codecSampleRateArray CodecSampleRate[] 编解码器支持的采样率能力集合。
codecBitRateArray CodecBitRate[] 编解码器支持的码率能力集合。
codecFrameLengthArray CodecFrameLength[] 编解码器支持的帧长能力集合。

CodecType11+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,蓝牙媒体音频编解码器类型。

系统能力:SystemCapability.Communication.Bluetooth.Core

展开
名称 说明
CODEC_TYPE_INVALID -1 编解码器类型未知。
CODEC_TYPE_SBC 0 SBC
CODEC_TYPE_AAC 1 AAC
CODEC_TYPE_L2HC 2 L2HC
CODEC_TYPE_L2HCST13+ 3 L2HCST
CODEC_TYPE_LDAC13+ 4 LDAC

CodecChannelMode11+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,蓝牙媒体音频编解码器的声道模式,表示音频播放时独立的空间信号路径数量。声道模式影响声音的立体感和空间定位‌。

系统能力:SystemCapability.Communication.Bluetooth.Core

展开
名称 说明
CODEC_CHANNEL_MODE_NONE 0 声道未知。
CODEC_CHANNEL_MODE_MONO 1 单声道。
CODEC_CHANNEL_MODE_STEREO 2 双声道。

CodecBitsPerSample11+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,蓝牙媒体音频编解码器的位深,表示蓝牙音频信号在数字表示中使用的位数,单位为bit。位深决定每个采样点可以表示的动态范围和精度。

系统能力:SystemCapability.Communication.Bluetooth.Core

展开
名称 说明
CODEC_BITS_PER_SAMPLE_NONE 0 位深未知。
CODEC_BITS_PER_SAMPLE_16 1 16bit
CODEC_BITS_PER_SAMPLE_24 2 24bit
CODEC_BITS_PER_SAMPLE_32 3 32bit

CodecSampleRate11+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

枚举,蓝牙媒体音频编解码器的采样率,表示每秒对蓝牙音频采样的次数,单位为Hz。采样率的选择会影响音质和传输效率。

系统能力:SystemCapability.Communication.Bluetooth.Core

展开
名称 说明
CODEC_SAMPLE_RATE_NONE 0 采样率未知。
CODEC_SAMPLE_RATE_44100 1 44.1kHz
CODEC_SAMPLE_RATE_48000 2 48kHz
CODEC_SAMPLE_RATE_88200 3 88.2kHz
CODEC_SAMPLE_RATE_96000 4 96kHz
CODEC_SAMPLE_RATE_176400 5 176.4kHz
CODEC_SAMPLE_RATE_192000 6 192kHz

CodecBitRate19+

Phone19+PC/2in119+Tablet19+TV19+Wearable19+

枚举,蓝牙媒体音频编解码器的码率,表示单位时间内音频数据的传输量,单位为kbps。码率影响音频音质和传输带宽。

系统能力:SystemCapability.Communication.Bluetooth.Core

展开
名称 说明
CODEC_BIT_RATE_96000 0 96kbps
CODEC_BIT_RATE_128000 1 128kbps
CODEC_BIT_RATE_192000 2 192kbps
CODEC_BIT_RATE_256000 3 256kbps
CODEC_BIT_RATE_320000 4 320kbps
CODEC_BIT_RATE_480000 5 480kbps
CODEC_BIT_RATE_640000 6 640kbps
CODEC_BIT_RATE_960000 7 960kbps
CODEC_BIT_RATE_ABR 8 自适应码率(根据蓝牙链路质量自动调整)。
CODEC_BIT_RATE_150000021+ 9 1500kbps
CODEC_BIT_RATE_230000021+ 10 2300kbps

CodecFrameLength19+

Phone19+PC/2in119+Tablet19+TV19+Wearable19+

枚举,蓝牙媒体音频编解码器的帧长,表示一帧音频数据播放的时长,单位为ms。帧长影响音频传输的延迟和效率。

系统能力:SystemCapability.Communication.Bluetooth.Core

展开
名称 说明
CODEC_FRAME_LENGTH_5MS 0 5ms帧长。
CODEC_FRAME_LENGTH_10MS 1 10ms帧长。
在 API参考 中进行搜索
请输入您想要搜索的关键词