1# Interfaces (其他) 2<!--Kit: Audio Kit--> 3<!--Subsystem: Multimedia--> 4<!--Owner: @songshenke--> 5<!--Designer: @caixuejiang; @hao-liangfei; @zhanganxiang--> 6<!--Tester: @Filger--> 7<!--Adviser: @zengyawen--> 8 9> **说明:** 10> 11> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 12 13## AudioStreamInfo<sup>8+</sup> 14 15音频流信息。 16 17**系统能力:** SystemCapability.Multimedia.Audio.Core 18 19| 名称 | 类型 | 只读 | 可选 | 说明 | 20| ------------ | ------------------------------------------------- | ---- |---| ------------------ | 21| samplingRate | [AudioSamplingRate](arkts-apis-audio-e.md#audiosamplingrate8) | 否 | 否 | 音频文件的采样率。 | 22| channels | [AudioChannel](arkts-apis-audio-e.md#audiochannel8) | 否 | 否 | 音频文件的通道数。 | 23| sampleFormat | [AudioSampleFormat](arkts-apis-audio-e.md#audiosampleformat8) | 否 | 否 | 音频采样格式。 | 24| encodingType | [AudioEncodingType](arkts-apis-audio-e.md#audioencodingtype8) | 否 | 否 | 音频编码格式。 | 25| channelLayout<sup>11+</sup> | [AudioChannelLayout](arkts-apis-audio-e.md#audiochannellayout11) | 否 | 是 | 音频声道布局,默认值为0x0。 | 26 27## AudioRendererInfo<sup>8+</sup> 28 29音频渲染器信息。 30 31| 名称 | 类型 | 只读 | 可选 | 说明 | 32| ------------- | --------------------------- | ---- |---| --------------- | 33| content | [ContentType](arkts-apis-audio-e.md#contenttypedeprecated) | 否 | 是 | 音频内容类型。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Core <br>API version 8、9为必填参数,从API version 10开始为可选参数,默认值为CONTENT_TYPE_UNKNOWN。<br>从API version 7开始支持,从API version 10开始废弃,建议使用[StreamUsage](arkts-apis-audio-e.md#streamusage)替代。 | 34| usage | [StreamUsage](arkts-apis-audio-e.md#streamusage) | 否 | 否 | 音频流使用类型。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Core <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 35| rendererFlags | number | 否 | 否 | 音频渲染器标志。<br>0代表音频渲染器。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Core <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 36| volumeMode<sup>19+</sup> | [AudioVolumeMode](arkts-apis-audio-e.md#audiovolumemode19) | 否 | 是 | 音频的音量模式。默认值为SYSTEM_GLOBAL。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Volume| 37 38## AudioRendererOptions<sup>8+</sup> 39 40音频渲染器选项信息。 41 42| 名称 | 类型 | 只读 | 可选 | 说明 | 43| ------------ | ---------------------------------------- | ---- |---| ---------------- | 44| streamInfo | [AudioStreamInfo](#audiostreaminfo8) | 否 | 否 | 音频流信息。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Renderer | 45| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | 否 | 否 | 音频渲染器信息。<br/>**系统能力:** SystemCapability.Multimedia.Audio.Renderer | 46| privacyType<sup>10+</sup> | [AudioPrivacyType](arkts-apis-audio-e.md#audioprivacytype10) | 否 | 是 | 表示音频流是否可以被其他应用录制,默认值为0。<br/>**系统能力:** SystemCapability.Multimedia.Audio.PlaybackCapture | 47 48## InterruptEvent<sup>9+</sup> 49 50音频中断时,应用接收的中断事件。 51 52**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 53 54**系统能力:** SystemCapability.Multimedia.Audio.Renderer 55 56| 名称 | 类型 | 只读 | 可选 | 说明 | 57| --------- | ------------------------------------------ | ---- |---| ------------------------------------ | 58| eventType | [InterruptType](arkts-apis-audio-e.md#interrupttype) | 否 | 否 | 音频中断事件类型,开始或是结束。 | 59| forceType | [InterruptForceType](arkts-apis-audio-e.md#interruptforcetype9) | 否 | 否 | 操作是由系统强制执行或是由应用程序执行。 | 60| hintType | [InterruptHint](arkts-apis-audio-e.md#interrupthint) | 否 | 否 | 中断提示,用于提供中断事件的相关信息。 | 61 62## DeviceBlockStatusInfo<sup>13+</sup> 63 64描述音频设备被堵塞状态和设备信息。 65 66**系统能力:** SystemCapability.Multimedia.Audio.Device 67 68| 名称 | 类型 | 只读 | 可选 | 说明 | 69| :---------------- | :------------------------------------------------ | :--- |---| :----------------- | 70| blockStatus | [DeviceBlockStatus](arkts-apis-audio-e.md#deviceblockstatus13) | 否 | 否 | 音频设备堵塞状态。 | 71| devices | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | 否 | 否 | 设备信息。 | 72 73## AudioSessionStrategy<sup>12+</sup> 74 75音频会话策略。 76 77**系统能力:** SystemCapability.Multimedia.Audio.Core 78 79| 名称 | 类型 | 只读 | 可选 | 说明 | 80| :------------ |:------------------------------------------------| :--- |---| :--------------- | 81| concurrencyMode | [AudioConcurrencyMode](arkts-apis-audio-e.md#audioconcurrencymode12) | 否 | 否 | 音频并发模式。 | 82 83## AudioSessionDeactivatedEvent<sup>12+</sup> 84 85音频会话停用事件。 86 87**系统能力:** SystemCapability.Multimedia.Audio.Core 88 89| 名称 | 类型 | 只读 | 可选 | 说明 | 90| :------------ |:------------------------------------------------------------------| :--- |---| :--------------- | 91| reason | [AudioSessionDeactivatedReason](arkts-apis-audio-e.md#audiosessiondeactivatedreason12) | 否 | 否 | 音频会话停用原因。 | 92 93## AudioSessionStateChangedEvent<sup>20+</sup> 94 95音频会话状态变更事件。 96 97**系统能力:** SystemCapability.Multimedia.Audio.Core 98 99| 名称 | 类型 | 只读 | 可选 | 说明 | 100| :------------ |:------------------------------------------------| :--- |---| :--------------- | 101| stateChangeHint | [AudioSessionStateChangeHint](arkts-apis-audio-e.md#audiosessionstatechangehint20) | 否 | 否 | 音频会话状态变更提示。 | 102 103## AudioRendererChangeInfo<sup>9+</sup> 104 105描述音频渲染器更改信息。 106 107**系统能力:** SystemCapability.Multimedia.Audio.Renderer 108 109| 名称 | 类型 | 只读 | 可选 | 说明 | 110| -------------------| ----------------------------------------- | ---- | ---- | ---------------------------- | 111| streamId | number | 是 | 否 | 音频流唯一id。 | 112| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | 是 | 否 | 音频渲染器信息。 | 113| deviceDescriptors | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | 是 | 否 | 音频设备描述。| 114 115## AudioCapturerChangeInfo<sup>9+</sup> 116 117描述音频采集器更改信息。 118 119**系统能力:** SystemCapability.Multimedia.Audio.Capturer 120 121| 名称 | 类型 | 只读 | 可选 | 说明 | 122| -------------------| ----------------------------------------- | ---- | ---- | ---------------------------- | 123| streamId | number | 是 | 否 | 音频流唯一id。 | 124| capturerInfo | [AudioCapturerInfo](#audiocapturerinfo8) | 是 | 否 | 音频采集器信息。 | 125| deviceDescriptors | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | 是 | 否 | 音频设备信息。| 126| muted<sup>11+</sup> | boolean | 是 | 是 | 音频采集器是否处于静音状态。true表示静音,false表示非静音。| 127 128## AudioDeviceDescriptor 129 130描述音频设备。 131 132| 名称 | 类型 | 只读 | 可选 | 说明 | 133| ----------------------------- | -------------------------- | ---- | ---- | ---------- | 134| deviceRole | [DeviceRole](arkts-apis-audio-e.md#devicerole) | 是 | 否 | 设备角色。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 135| deviceType | [DeviceType](arkts-apis-audio-e.md#devicetype) | 是 | 否 | 设备类型。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 136| id<sup>9+</sup> | number | 是 | 否 | 唯一的设备id。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 137| name<sup>9+</sup> | string | 是 | 否 | 设备名称。<br>如果是蓝牙设备,需要申请权限ohos.permission.USE_BLUETOOTH。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 138| address<sup>9+</sup> | string | 是 | 否 | 设备地址。<br>如果是蓝牙设备,需要申请权限ohos.permission.USE_BLUETOOTH。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 139| sampleRates<sup>9+</sup> | Array<number> | 是 | 否 | 支持的采样率。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 140| channelCounts<sup>9+</sup> | Array<number> | 是 | 否 | 支持的通道数。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 141| channelMasks<sup>9+</sup> | Array<number> | 是 | 否 | 支持的通道掩码。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 142| displayName<sup>10+</sup> | string | 是 | 否 | 设备显示名。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 143| encodingTypes<sup>11+</sup> | Array<[AudioEncodingType](arkts-apis-audio-e.md#audioencodingtype8)> | 是 | 是 | 支持的编码类型。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Core <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 144| spatializationSupported<sup>18+</sup> | boolean | 是 | 是 | 设备是否支持空间音频。true表示支持空间音频,false表示不支持空间音频。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Spatialization| 145 146## VolumeEvent<sup>9+</sup> 147 148音量改变时,应用接收到的事件。 149 150**系统能力:** SystemCapability.Multimedia.Audio.Volume 151 152| 名称 | 类型 | 只读 | 可选 | 说明 | 153| ---------- | ----------------------------------- | ---- |---|-------------------------------------------| 154| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | 否 | 否 | 音量流类型。 | 155| volume | number | 否 | 否 |音量等级,可设置范围通过调用getMinVolume和getMaxVolume方法获取。 | 156| updateUi | boolean | 否 | 否 | 是否在UI中显示音量变化。true表示显示,false表示不显示。 | 157| volumeMode<sup>19+</sup> | [AudioVolumeMode](arkts-apis-audio-e.md#audiovolumemode19) | 否 | 是 | 音频的音量模式。默认值为SYSTEM_GLOBAL。| 158 159 160## MicStateChangeEvent<sup>9+</sup> 161 162麦克风状态变化时,应用接收到的事件。 163 164**系统能力:** SystemCapability.Multimedia.Audio.Device 165 166| 名称 | 类型 | 只读 | 可选 | 说明 | 167| ---------- | ----------------------------------- | ---- |---|-------------------------------------------------------- | 168| mute | boolean | 否 | 否 | 系统麦克风是否为静音状态。true表示静音,false表示非静音。 | 169 170 171## StreamVolumeEvent<sup>20+</sup> 172 173音频流音量变化时,应用接收到的事件。 174 175**系统能力:** SystemCapability.Multimedia.Audio.Volume 176 177| 名称 | 类型 | 只读 | 可选 | 说明 | 178| ---------- | ----------------------------------- | ---- |---|-------------------------------------------------------- | 179| streamUsage | [StreamUsage](arkts-apis-audio-e.md#streamusage) | 否 | 否 | 音量发生变化的音频流。 | 180| volume | number | 否 | 否 | 音量值。 | 181| updateUi | boolean | 否 | 否 | 是否在UI上展示音量变化。true表示展示,false表示不展示。 | 182 183## DeviceChangeAction 184 185描述设备连接状态变化和设备信息。 186 187**系统能力:** SystemCapability.Multimedia.Audio.Device 188 189| 名称 | 类型 | 只读 | 可选 | 说明 | 190| :---------------- | :------------------------------------------------ | :--- |---| :----------------- | 191| type | [DeviceChangeType](arkts-apis-audio-e.md#devicechangetype) | 否 | 否 | 设备连接状态变化。 | 192| deviceDescriptors | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | 否 | 否 | 设备信息。 | 193 194## AudioStreamDeviceChangeInfo<sup>11+</sup> 195 196流设备变更时,应用接收到的事件。 197 198**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 199 200**系统能力:** SystemCapability.Multimedia.Audio.Device 201 202| 名称 | 类型 | 只读 | 可选 | 说明 | 203| :---------------- |:------------------------------------------------------------------| :--- |---| :----------------- | 204| devices | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | 否 | 否 | 设备信息。 | 205| changeReason | [AudioStreamDeviceChangeReason](arkts-apis-audio-e.md#audiostreamdevicechangereason11) | 否 | 否 | 流设备变更原因。 | 206 207## CurrentOutputDeviceChangedEvent<sup>20+</sup> 208 209应用接收到输出设备的变更事件。 210 211**系统能力:** SystemCapability.Multimedia.Audio.Core 212 213| 名称 | 类型 | 只读 | 可选 | 说明 | 214| :---------------- |:------------------------------------------------------------------| :--- |---| :----------------- | 215| devices | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | 否 | 否 | 设备信息。 | 216| changeReason | [AudioStreamDeviceChangeReason](arkts-apis-audio-e.md#audiostreamdevicechangereason11) | 否 | 否 | 设备变更原因。 | 217| recommendedAction | [OutputDeviceChangeRecommendedAction](arkts-apis-audio-e.md#outputdevicechangerecommendedaction20) | 否 | 否 | 设备变更后推荐的操作。 | 218 219## AudioTimestampInfo<sup>19+</sup> 220 221音频流时间戳和当前数据帧位置信息。 222 223**系统能力:** SystemCapability.Multimedia.Audio.Core 224 225| 名称 | 类型 | 只读 | 可选 | 说明 | 226| ---------| ------ | ---- | ---- |-----------------------------------| 227| framePos | number | 是 | 否 | 当前播放或者录制的数据帧位置。 | 228| timestamp | number | 是 | 否 | 播放或者录制到当前数据帧位置时对应的时间戳。 | 229 230## AudioCapturerInfo<sup>8+</sup> 231 232描述音频采集器信息。 233 234**系统能力:** SystemCapability.Multimedia.Audio.Core 235 236| 名称 | 类型 | 只读 | 可选 | 说明 | 237| :------------ | :------------------------ | :--- |---| :--------------- | 238| source | [SourceType](arkts-apis-audio-e.md#sourcetype8) | 否 | 否 | 音源类型。 | 239| capturerFlags | number | 否 | 否 | 音频采集器标志。<br>0代表音频采集器。 | 240 241## AudioCapturerOptions<sup>8+</sup> 242 243音频采集器选项信息。 244 245| 名称 | 类型 | 只读 | 可选 | 说明 | 246| ----------------------------------- | --------------------------------------------------------- | ---- |---| ------------------------------------------------------------ | 247| streamInfo | [AudioStreamInfo](#audiostreaminfo8) | 否 | 否 | 音频流信息。 <br/>**系统能力:** SystemCapability.Multimedia.Audio.Capturer | 248| capturerInfo | [AudioCapturerInfo](#audiocapturerinfo8) | 否 | 否 | 音频采集器信息。 <br/>**系统能力:** SystemCapability.Multimedia.Audio.Capturer | 249| playbackCaptureConfig<sup>(deprecated)</sup> | [AudioPlaybackCaptureConfig](#audioplaybackcaptureconfigdeprecated) | 否 | 是 | 音频内录的配置信息。<br/>**系统能力:** SystemCapability.Multimedia.Audio.PlaybackCapture<br/> 从API version 10开始支持,从API version 12开始废弃,建议使用[录屏接口AVScreenCapture](../apis-media-kit/capi-avscreencapture.md)替代。 | 250 251## AudioInterrupt<sup>(deprecated)</sup> 252 253音频监听事件传入的参数。 254 255> **说明:** 256> 257> 从API version 7开始支持,从API version 9开始废弃,无替代接口。 258 259**系统能力:** SystemCapability.Multimedia.Audio.Renderer 260 261| 名称 | 类型 | 只读 | 可选 | 说明 | 262| --------------- | --------------------------- | ----|---| ------------------------------------------------------------ | 263| streamUsage | [StreamUsage](arkts-apis-audio-e.md#streamusage) | 否 | 否 | 音频流使用类型。 | 264| contentType | [ContentType](arkts-apis-audio-e.md#contenttypedeprecated) | 否 | 否 | 音频打断媒体类型。 | 265| pauseWhenDucked | boolean | 否 | 否 | 音频打断时是否可以暂停音频播放。true表示音频播放可以在音频打断期间暂停,false表示音频播放不可以在音频打断期间暂停。 | 266 267## CaptureFilterOptions<sup>(deprecated)</sup> 268 269待录制的播放音频流的筛选信息。 270 271> **说明:** 272> 从API version 10开始支持,从API version 12开始废弃,建议使用[录屏接口AVScreenCapture](../apis-media-kit/capi-avscreencapture.md)替代。 273 274**系统能力:** SystemCapability.Multimedia.Audio.PlaybackCapture 275 276| 名称 | 类型 | 只读 | 可选 | 说明 | 277| ------ | ---------------------------------- | ---- |---| ------------------------------------------------------------ | 278| usages | Array\<[StreamUsage](arkts-apis-audio-e.md#streamusage)> | 否 | 否 | 指定需要录制的音频播放流的StreamUsage类型。可同时指定0个或多个StreamUsage。Array为空时,默认录制StreamUsage为STREAM_USAGE_MUSIC、STREAM_USAGE_MOVIE、STREAM_USAGE_GAME和STREAM_USAGE_AUDIOBOOK的音频播放流。<br>在API version 10时,CaptureFilterOptions支持使用StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,使用时需要申请权限ohos.permission.CAPTURE_VOICE_DOWNLINK_AUDIO,该权限仅系统应用可申请。<br>从API version 11开始,CaptureFilterOptions不再支持使用StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,所以当前接口不再涉及此权限。 | 279 280## AudioPlaybackCaptureConfig<sup>(deprecated)</sup> 281 282音频内录的配置信息。 283 284> **说明:** 285> 从API version 10开始支持,从API version 12开始废弃,建议使用[录屏接口AVScreenCapture](../apis-media-kit/capi-avscreencapture.md)替代。 286 287**系统能力:** SystemCapability.Multimedia.Audio.PlaybackCapture 288 289| 名称 | 类型 | 只读 | 可选 | 说明 | 290| ------------- | --------------------------------------------- | ---- |---| -------------------------------- | 291| filterOptions | [CaptureFilterOptions](#capturefilteroptionsdeprecated) | 否 | 否 | 需要录制的播放音频流的筛选信息。 | 292 293## InterruptAction<sup>(deprecated)</sup> 294 295音频打断/获取焦点事件的回调方法。 296 297> **说明:** 298> 299> 从API version 7开始支持,从API version 9开始废弃,建议使用[InterruptEvent](#interruptevent9)替代。 300 301**系统能力:** SystemCapability.Multimedia.Audio.Renderer 302 303| 名称 | 类型 | 只读 | 可选 | 说明 | 304| ---------- | ------------------------------------------- | ---- |---| ------------------------------------------------------------ | 305| actionType | [InterruptActionType](arkts-apis-audio-e.md#interruptactiontypedeprecated) | 否 | 否 | 事件返回类型。TYPE_ACTIVATED为焦点触发事件,TYPE_INTERRUPT为音频打断事件。 | 306| type | [InterruptType](arkts-apis-audio-e.md#interrupttype) | 否 | 是 | 打断事件类型。 | 307| hint | [InterruptHint](arkts-apis-audio-e.md#interrupthint) | 否 | 是 | 打断事件提示。 | 308| activated | boolean | 否 | 是 | 焦点获取/释放是否成功。true表示焦点获取/释放成功,false表示焦点获得/释放失败。 | 309