1# Interfaces (Others) 2 3> **NOTE** 4> 5> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. 6 7## AudioStreamInfo<sup>8+</sup> 8 9Describes audio stream information. 10 11**System capability**: SystemCapability.Multimedia.Audio.Core 12 13| Name | Type | Read-Only| Optional| Description | 14| ------------ | ------------------------------------------------- | ---- |---| ------------------ | 15| samplingRate | [AudioSamplingRate](arkts-apis-audio-e.md#audiosamplingrate8) | No| No| Audio sampling rate.| 16| channels | [AudioChannel](arkts-apis-audio-e.md#audiochannel8) | No| No| Number of audio channels.| 17| sampleFormat | [AudioSampleFormat](arkts-apis-audio-e.md#audiosampleformat8) | No| No| Audio sample format. | 18| encodingType | [AudioEncodingType](arkts-apis-audio-e.md#audioencodingtype8) | No| No| Audio encoding type. | 19| channelLayout<sup>11+</sup> | [AudioChannelLayout](arkts-apis-audio-e.md#audiochannellayout11) | No| Yes| Audio channel layout. The default value is **0x0**.| 20 21## AudioRendererInfo<sup>8+</sup> 22 23Describes audio renderer information. 24 25| Name | Type | Read-Only| Optional| Description | 26| ------------- | --------------------------- | ---- |---| --------------- | 27| content | [ContentType](arkts-apis-audio-e.md#contenttypedeprecated) | No| Yes| Audio content type.<br>**System capability**: SystemCapability.Multimedia.Audio.Core<br>This parameter is mandatory in API versions 8 and 9 and optional since API version 10. The default value is **CONTENT_TYPE_UNKNOWN**.<br>This API is supported since API version 7 and deprecated since API version 10. You are advised to use [StreamUsage](arkts-apis-audio-e.md#streamusage) instead.| 28| usage | [StreamUsage](arkts-apis-audio-e.md#streamusage) | No| No| Audio stream usage.<br>**System capability**: SystemCapability.Multimedia.Audio.Core<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 29| rendererFlags | number | No| No| Audio renderer flags.<br>The value **0** means an audio renderer.<br>**System capability**: SystemCapability.Multimedia.Audio.Core<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 30| volumeMode<sup>19+</sup> | [AudioVolumeMode](arkts-apis-audio-e.md#audiovolumemode19) | No| Yes| Audio volume mode. The default value is **SYSTEM_GLOBAL**.<br>**System capability**: SystemCapability.Multimedia.Audio.Volume| 31 32## AudioRendererOptions<sup>8+</sup> 33 34Describes audio renderer configurations. 35 36| Name | Type | Read-Only| Optional| Description | 37| ------------ | ---------------------------------------- | ---- |---| ---------------- | 38| streamInfo | [AudioStreamInfo](#audiostreaminfo8) | No| No| Audio stream information.<br>**System capability**: SystemCapability.Multimedia.Audio.Renderer| 39| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | No| No| Audio renderer information.<br>**System capability**: SystemCapability.Multimedia.Audio.Renderer| 40| privacyType<sup>10+</sup> | [AudioPrivacyType](arkts-apis-audio-e.md#audioprivacytype10) | No| Yes| Whether the audio stream can be recorded by other applications. The default value is **0**.<br>**System capability**: SystemCapability.Multimedia.Audio.PlaybackCapture| 41 42## InterruptEvent<sup>9+</sup> 43 44Describes the interruption event received by the application when the audio is interrupted. 45 46**Atomic service API**: This API can be used in atomic services since API version 12. 47 48**System capability**: SystemCapability.Multimedia.Audio.Renderer 49 50| Name | Type | Read-Only| Optional| Description | 51| --------- | ------------------------------------------ | ---- |---| ------------------------------------ | 52| eventType | [InterruptType](arkts-apis-audio-e.md#interrupttype) | No| No| Whether the audio interruption has started or ended. | 53| forceType | [InterruptForceType](arkts-apis-audio-e.md#interruptforcetype9) | No| No| Whether the audio interruption is forcibly taken by the system or taken by an application.| 54| hintType | [InterruptHint](arkts-apis-audio-e.md#interrupthint) | No| No| Hint provided along the interruption to provide information related to the interruption event.| 55 56## DeviceBlockStatusInfo<sup>13+</sup> 57 58Describes the audio device blocked status and device information. 59 60**System capability**: SystemCapability.Multimedia.Audio.Device 61 62| Name | Type | Read-Only| Optional| Description | 63| :---------------- | :------------------------------------------------ | :--- |---| :----------------- | 64| blockStatus | [DeviceBlockStatus](arkts-apis-audio-e.md#deviceblockstatus13) | No| No| Blocked status of the audio device.| 65| devices | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | No| No| Device information. | 66 67## AudioSessionStrategy<sup>12+</sup> 68 69Describes an audio session strategy. 70 71**System capability**: SystemCapability.Multimedia.Audio.Core 72 73| Name | Type | Read-Only| Optional| Description | 74| :------------ |:------------------------------------------------| :--- |---| :--------------- | 75| concurrencyMode | [AudioConcurrencyMode](arkts-apis-audio-e.md#audioconcurrencymode12) | No| No| Audio concurrency mode. | 76 77## AudioSessionDeactivatedEvent<sup>12+</sup> 78 79Describes the event indicating that an audio session is deactivated. 80 81**System capability**: SystemCapability.Multimedia.Audio.Core 82 83| Name | Type | Read-Only| Optional| Description | 84| :------------ |:------------------------------------------------------------------| :--- |---| :--------------- | 85| reason | [AudioSessionDeactivatedReason](arkts-apis-audio-e.md#audiosessiondeactivatedreason12) | No| No| Reason for deactivating an audio session. | 86 87## AudioRendererChangeInfo<sup>9+</sup> 88 89Describes the audio renderer change event. 90 91**System capability**: SystemCapability.Multimedia.Audio.Renderer 92 93| Name | Type | Read-Only| Optional| Description | 94| -------------------| ----------------------------------------- | ---- | ---- | ---------------------------- | 95| streamId | number | Yes | No | Unique ID of an audio stream. | 96| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | Yes | No | Audio renderer information. | 97| deviceDescriptors | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | Yes | No | Audio device description.| 98 99**Example** 100 101```ts 102import { audio } from '@kit.AudioKit'; 103 104const audioManager = audio.getAudioManager(); 105let audioStreamManager = audioManager.getStreamManager(); 106 107audioStreamManager.on('audioRendererChange', (AudioRendererChangeInfoArray) => { 108 for (let i = 0; i < AudioRendererChangeInfoArray.length; i++) { 109 console.info(`## RendererChange on is called for ${i} ##`); 110 console.info(`StreamId for ${i} is: ${AudioRendererChangeInfoArray[i].streamId}`); 111 console.info(`Content for ${i} is: ${AudioRendererChangeInfoArray[i].rendererInfo.content}`); 112 console.info(`Stream for ${i} is: ${AudioRendererChangeInfoArray[i].rendererInfo.usage}`); 113 console.info(`Flag ${i} is: ${AudioRendererChangeInfoArray[i].rendererInfo.rendererFlags}`); 114 let devDescriptor = AudioRendererChangeInfoArray[i].deviceDescriptors; 115 for (let j = 0; j < AudioRendererChangeInfoArray[i].deviceDescriptors.length; j++) { 116 console.info(`Id: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].id}`); 117 console.info(`Type: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].deviceType}`); 118 console.info(`Role: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].deviceRole}`); 119 console.info(`Name: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].name}`); 120 console.info(`Addr: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].address}`); 121 console.info(`SR: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].sampleRates[0]}`); 122 console.info(`C ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].channelCounts[0]}`); 123 console.info(`CM: ${i} : ${AudioRendererChangeInfoArray[i].deviceDescriptors[j].channelMasks[0]}`); 124 } 125 } 126}); 127``` 128 129## AudioCapturerChangeInfo<sup>9+</sup> 130 131Describes the audio capturer change event. 132 133**System capability**: SystemCapability.Multimedia.Audio.Capturer 134 135| Name | Type | Read-Only| Optional| Description | 136| -------------------| ----------------------------------------- | ---- | ---- | ---------------------------- | 137| streamId | number | Yes | No | Unique ID of an audio stream. | 138| capturerInfo | [AudioCapturerInfo](#audiocapturerinfo8) | Yes | No | Audio capturer information. | 139| deviceDescriptors | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | Yes | No | Audio device information.| 140| muted<sup>11+</sup> | boolean | Yes | Yes| Whether the audio capturer is muted. The value **true** means that the audio capturer is muted, and **false** means the opposite.| 141 142**Example** 143 144```ts 145import { audio } from '@kit.AudioKit'; 146 147const audioManager = audio.getAudioManager(); 148let audioStreamManager = audioManager.getStreamManager(); 149 150audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) => { 151 for (let i = 0; i < AudioCapturerChangeInfoArray.length; i++) { 152 console.info(`## CapChange on is called for element ${i} ##`); 153 console.info(`StrId for ${i} is: ${AudioCapturerChangeInfoArray[i].streamId}`); 154 console.info(`Src for ${i} is: ${AudioCapturerChangeInfoArray[i].capturerInfo.source}`); 155 console.info(`Flag ${i} is: ${AudioCapturerChangeInfoArray[i].capturerInfo.capturerFlags}`); 156 let devDescriptor = AudioCapturerChangeInfoArray[i].deviceDescriptors; 157 for (let j = 0; j < AudioCapturerChangeInfoArray[i].deviceDescriptors.length; j++) { 158 console.info(`Id: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].id}`); 159 console.info(`Type: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].deviceType}`); 160 console.info(`Role: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].deviceRole}`); 161 console.info(`Name: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].name}`); 162 console.info(`Addr: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].address}`); 163 console.info(`SR: ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].sampleRates[0]}`); 164 console.info(`C ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].channelCounts[0]}`); 165 console.info(`CM ${i} : ${AudioCapturerChangeInfoArray[i].deviceDescriptors[j].channelMasks[0]}`); 166 } 167 } 168}); 169``` 170 171## AudioDeviceDescriptor 172 173Describes an audio device. 174 175| Name | Type | Read-Only| Optional| Description | 176| ----------------------------- | -------------------------- | ---- | ---- | ---------- | 177| deviceRole | [DeviceRole](arkts-apis-audio-e.md#devicerole) | Yes | No | Device role.<br> **System capability**: SystemCapability.Multimedia.Audio.Device<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 178| deviceType | [DeviceType](arkts-apis-audio-e.md#devicetype) | Yes | No | Device type.<br> **System capability**: SystemCapability.Multimedia.Audio.Device<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 179| id<sup>9+</sup> | number | Yes | No | Unique device ID.<br> **System capability**: SystemCapability.Multimedia.Audio.Device<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 180| name<sup>9+</sup> | string | Yes | No | Device name.<br>For a Bluetooth device, you must request the ohos.permission.USE_BLUETOOTH permission.<br> **System capability**: SystemCapability.Multimedia.Audio.Device<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 181| address<sup>9+</sup> | string | Yes | No | Device address.<br>For a Bluetooth device, you must request the ohos.permission.USE_BLUETOOTH permission.<br> **System capability**: SystemCapability.Multimedia.Audio.Device<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 182| sampleRates<sup>9+</sup> | Array<number> | Yes | No | Supported sampling rates.<br> **System capability**: SystemCapability.Multimedia.Audio.Device<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 183| channelCounts<sup>9+</sup> | Array<number> | Yes | No | Number of channels supported.<br> **System capability**: SystemCapability.Multimedia.Audio.Device<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 184| channelMasks<sup>9+</sup> | Array<number> | Yes | No | Supported channel masks.<br> **System capability**: SystemCapability.Multimedia.Audio.Device<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 185| displayName<sup>10+</sup> | string | Yes | No | Display name of the device.<br> **System capability**: SystemCapability.Multimedia.Audio.Device<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 186| encodingTypes<sup>11+</sup> | Array<[AudioEncodingType](arkts-apis-audio-e.md#audioencodingtype8)> | Yes | Yes| Supported encoding types.<br> **System capability**: SystemCapability.Multimedia.Audio.Core<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 187| spatializationSupported<sup>18+</sup> | boolean | Yes | Yes| Whether the device supports spatial audio rendering. The value **true** means that the device supports spatial audio rendering, and **false** means the opposite.<br> **System capability**: SystemCapability.Multimedia.Audio.Spatialization| 188 189**Example** 190 191```ts 192import { audio } from '@kit.AudioKit'; 193 194function displayDeviceProp(value: audio.AudioDeviceDescriptor) { 195 deviceRoleValue = value.deviceRole; 196 deviceTypeValue = value.deviceType; 197} 198 199let deviceRoleValue: audio.DeviceRole | undefined = undefined; 200let deviceTypeValue: audio.DeviceType | undefined = undefined; 201audio.getAudioManager().getRoutingManager().getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((value: audio.AudioDeviceDescriptors) => { 202 console.info('AudioFrameworkTest: Promise: getDevices OUTPUT_DEVICES_FLAG'); 203 value.forEach(displayDeviceProp); 204 if (deviceTypeValue != undefined && deviceRoleValue != undefined){ 205 console.info('AudioFrameworkTest: Promise: getDevices : OUTPUT_DEVICES_FLAG : PASS'); 206 } else { 207 console.error('AudioFrameworkTest: Promise: getDevices : OUTPUT_DEVICES_FLAG : FAIL'); 208 } 209}); 210``` 211 212## VolumeEvent<sup>9+</sup> 213 214Describes the event received by the application when the volume is changed. 215 216**System capability**: SystemCapability.Multimedia.Audio.Volume 217 218| Name | Type | Read-Only| Optional| Description | 219| ---------- | ----------------------------------- | ---- |---|-------------------------------------------| 220| volumeType | [AudioVolumeType](arkts-apis-audio-e.md#audiovolumetype) | No| No| Audio stream type. | 221| volume | number | No| No|Volume to set. The value range can be obtained by calling **getMinVolume** and **getMaxVolume**. | 222| updateUi | boolean | No| No| Whether to show the volume change in UI. The value **true** means to show the volume change in UI, and **false** means the opposite. | 223| volumeMode<sup>19+</sup> | [AudioVolumeMode](arkts-apis-audio-e.md#audiovolumemode19) | No| Yes| Audio volume mode. The default value is **SYSTEM_GLOBAL**.| 224 225 226## MicStateChangeEvent<sup>9+</sup> 227 228Describes the event received by the application when the microphone mute status is changed. 229 230**System capability**: SystemCapability.Multimedia.Audio.Device 231 232| Name | Type | Read-Only| Optional| Description | 233| ---------- | ----------------------------------- | ---- |---|-------------------------------------------------------- | 234| mute | boolean | No| No| Mute status of the microphone The value **true** means that the microphone is muted, and **false** means the opposite. | 235 236 237## StreamVolumeEvent<sup>20+</sup> 238 239Describes the event received by the application when the audio stream volume is changed. 240 241**System capability**: SystemCapability.Multimedia.Audio.Volume 242 243| Name | Type | Read-Only| Optional| Description | 244| ---------- | ----------------------------------- | ---- |---|-------------------------------------------------------- | 245| streamUsage | [StreamUsage](arkts-apis-audio-e.md#streamusage) | No| No| Audio stream for which the volume changes. | 246| volume | number | No| No| Volume. | 247| updateUi | boolean | No| No| Whether to show the volume change in UI. The value **true** means to show the volume change in UI, and **false** means the opposite. | 248 249## DeviceChangeAction 250 251Describes the device connection status and device information. 252 253**System capability**: SystemCapability.Multimedia.Audio.Device 254 255| Name | Type | Read-Only| Optional| Description | 256| :---------------- | :------------------------------------------------ | :--- |---| :----------------- | 257| type | [DeviceChangeType](arkts-apis-audio-e.md#devicechangetype) | No| No| Device connection status.| 258| deviceDescriptors | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | No| No| Device information. | 259 260## AudioStreamDeviceChangeInfo<sup>11+</sup> 261 262Describes the event received by the application when the audio stream device is changed. 263 264**Atomic service API**: This API can be used in atomic services since API version 12. 265 266**System capability**: SystemCapability.Multimedia.Audio.Device 267 268| Name | Type | Read-Only| Optional| Description | 269| :---------------- |:------------------------------------------------------------------| :--- |---| :----------------- | 270| devices | [AudioDeviceDescriptors](arkts-apis-audio-t.md#audiodevicedescriptors) | No| No| Device information.| 271| changeReason | [AudioStreamDeviceChangeReason](arkts-apis-audio-e.md#audiostreamdevicechangereason11) | No| No| Reason for the change.| 272 273## AudioTimestampInfo<sup>19+</sup> 274 275Describes the information about the audio stream timestamp and the current data frame position. 276 277**System capability**: SystemCapability.Multimedia.Audio.Core 278 279| Name| Type| Read-Only| Optional| Description | 280| ---------| ------ | ---- | ---- |-----------------------------------| 281| framePos | number | Yes | No | Position of the current data frame for playback or recording. | 282| timestamp | number | Yes | No | Timestamp corresponding to the current data frame position during playback or recording.| 283 284## AudioCapturerInfo<sup>8+</sup> 285 286Describes audio capturer information. 287 288**System capability**: SystemCapability.Multimedia.Audio.Core 289 290| Name | Type | Read-Only| Optional| Description | 291| :------------ | :------------------------ | :--- |---| :--------------- | 292| source | [SourceType](arkts-apis-audio-e.md#sourcetype8) | No| No| Audio source type. | 293| capturerFlags | number | No| No| Audio capturer flags.<br>The value **0** means an audio capturer.| 294 295## AudioCapturerOptions<sup>8+</sup> 296 297Describes audio capturer configurations. 298 299| Name | Type | Read-Only| Optional| Description | 300| ----------------------------------- | --------------------------------------------------------- | ---- |---| ------------------------------------------------------------ | 301| streamInfo | [AudioStreamInfo](#audiostreaminfo8) | No| No| Audio stream information.<br>**System capability**: SystemCapability.Multimedia.Audio.Capturer | 302| capturerInfo | [AudioCapturerInfo](#audiocapturerinfo8) | No| No| Audio capturer information.<br>**System capability**: SystemCapability.Multimedia.Audio.Capturer | 303| playbackCaptureConfig<sup>(deprecated)</sup> | [AudioPlaybackCaptureConfig](#audioplaybackcaptureconfigdeprecated) | No| Yes| Configuration of internal audio recording.<br>**System capability**: SystemCapability.Multimedia.Audio.PlaybackCapture<br> This API is supported since API version 10 and deprecated since API version 12. You are advised to use [AVScreenCapture](../apis-media-kit/capi-avscreencapture.md) instead. | 304 305## AudioInterrupt<sup>(deprecated)</sup> 306 307Describes input parameters of audio interruption events. 308 309> **NOTE** 310> 311> This API is supported since API version 7 and deprecated since API version 9. No substitute is provided. 312 313**System capability**: SystemCapability.Multimedia.Audio.Renderer 314 315| Name | Type | Read-Only| Optional| Description | 316| --------------- | --------------------------- | ----|---| ------------------------------------------------------------ | 317| streamUsage | [StreamUsage](arkts-apis-audio-e.md#streamusage) | No| No| Audio stream usage. | 318| contentType | [ContentType](arkts-apis-audio-e.md#contenttypedeprecated) | No| No| Audio content type. | 319| pauseWhenDucked | boolean | No| No| Whether audio playback can be paused during an audio interruption. The value **true** means that audio playback can be paused during an audio interruption, and **false** means the opposite.| 320 321## CaptureFilterOptions<sup>(deprecated)</sup> 322 323Defines the options for filtering the played audio streams to be recorded. 324 325> **NOTE** 326> This API is supported since API version 10 and deprecated since API version 12. You are advised to use [AVScreenCapture](../apis-media-kit/capi-avscreencapture.md) instead. 327 328**System capability**: SystemCapability.Multimedia.Audio.PlaybackCapture 329 330| Name | Type | Read-Only| Optional| Description | 331| ------ | ---------------------------------- | ---- |---| ------------------------------------------------------------ | 332| usages | Array\<[StreamUsage](arkts-apis-audio-e.md#streamusage)> | No| No| **StreamUsage** of the audio stream to be recorded. You can specify zero or more stream usages. If the array is empty, the audio stream for which **StreamUsage** is **STREAM_USAGE_MUSIC**, **STREAM_USAGE_MOVIE**, **STREAM_USAGE_GAME**, or **STREAM_USAGE_AUDIOBOOK** is recorded by default.<br>In API version 10, **CaptureFilterOptions** supports **StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION**, and therefore the ohos.permission.CAPTURE_VOICE_DOWNLINK_AUDIO permission is required. Only system applications can request this permission.<br>Since API version 11, **CaptureFilterOptions** does not support **StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION**. Therefore, no permission is required for calling this API.| 333 334## AudioPlaybackCaptureConfig<sup>(deprecated)</sup> 335 336Defines the configuration of internal audio recording. 337 338> **NOTE** 339> This API is supported since API version 10 and deprecated since API version 12. You are advised to use [AVScreenCapture](../apis-media-kit/capi-avscreencapture.md) instead. 340 341**System capability**: SystemCapability.Multimedia.Audio.PlaybackCapture 342 343| Name | Type | Read-Only| Optional| Description | 344| ------------- | --------------------------------------------- | ---- |---| -------------------------------- | 345| filterOptions | [CaptureFilterOptions](#capturefilteroptionsdeprecated) | No| No| Options for filtering the played audio streams to be recorded.| 346 347## InterruptAction<sup>(deprecated)</sup> 348 349Describes the callback invoked for audio interruption or focus gain events. 350 351> **NOTE** 352> 353> This API is supported since API version 7 and deprecated since API version 9. You are advised to use [InterruptEvent](#interruptevent9) instead. 354 355**System capability**: SystemCapability.Multimedia.Audio.Renderer 356 357| Name | Type | Read-Only| Optional| Description | 358| ---------- | ------------------------------------------- | ---- |---| ------------------------------------------------------------ | 359| actionType | [InterruptActionType](arkts-apis-audio-e.md#interruptactiontypedeprecated) | No| No| Returned event type. The value **TYPE_ACTIVATED** means the focus gain event, and **TYPE_INTERRUPT** means the audio interruption event.| 360| type | [InterruptType](arkts-apis-audio-e.md#interrupttype) | No| Yes| Type of the audio interruption event. | 361| hint | [InterruptHint](arkts-apis-audio-e.md#interrupthint) | No| Yes| Hint provided along with the audio interruption event. | 362| activated | boolean | No| Yes| Whether the focus is gained or released. The value **true** means that the focus is gained or released, and **false** means that the focus fails to be gained or released.| 363