• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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&lt;number&gt;        | 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&lt;number&gt;        | 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&lt;number&gt;        | 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&lt;[AudioEncodingType](arkts-apis-audio-e.md#audioencodingtype8)&gt;                     | 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