• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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&lt;number&gt;        | 是   | 否   | 支持的采样率。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
140| channelCounts<sup>9+</sup>    | Array&lt;number&gt;        | 是   | 否   | 支持的通道数。 <br> **系统能力:** SystemCapability.Multimedia.Audio.Device <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
141| channelMasks<sup>9+</sup>     | Array&lt;number&gt;        | 是   | 否   | 支持的通道掩码。 <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&lt;[AudioEncodingType](arkts-apis-audio-e.md#audioencodingtype8)&gt;                     | 是   | 是 | 支持的编码类型。 <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