• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# IAudioAdapter
2
3
4## 概述
5
6AudioAdapter音频适配器接口。
7
8package ohos.hdi.audio.v1_0;
9
10提供音频适配器(声卡)对外支持的驱动能力,包括初始化端口、创建放音、创建录音、获取端口能力集等。
11
12参见
13
14[IAudioRender](interface_i_audio_render_v10.md)
15
16[IAudioCapture](interface_i_audio_capture_v10.md)
17
18**起始版本:** 4.0
19
20**相关模块:**[HdiAudio](_hdi_audio_v11.md)
21
22
23## 汇总
24
25
26### Public 成员函数
27
28| 名称 | 描述 |
29| -------- | -------- |
30| [InitAllPorts](#initallports) () | 初始化一个音频适配器所有的端口驱动。 在音频服务中,调用其他驱动接口前需要先调用该接口检查端口是否已经初始化完成,如果端口没有初始化完成, 则需要等待一段时间(例如100ms)后重新进行检查,直到端口初始化完成后再继续操作。 |
31| [CreateRender](#createrender) ([in] struct [AudioDeviceDescriptor](_audio_device_descriptor_v10.md) desc, [in] struct [AudioSampleAttributes](_audio_sample_attributes_v10.md) attrs, [out] [IAudioRender](interface_i_audio_render_v10.md) render, [out] unsigned int renderId) | 创建一个音频播放接口的对象。 |
32| [DestroyRender](#destroyrender) ([in] unsigned int renderId) | 销毁一个音频播放接口的对象。 |
33| [CreateCapture](#createcapture) ([in] struct [AudioDeviceDescriptor](_audio_device_descriptor_v10.md) desc, [in] struct [AudioSampleAttributes](_audio_sample_attributes_v10.md) attrs, [out] [IAudioCapture](interface_i_audio_capture_v10.md) capture, [out] unsigned int captureId) | 创建一个音频录音接口的对象。 |
34| [DestroyCapture](#destroycapture) ([in] unsigned int captureId) | 销毁一个音频录音接口的对象。 |
35| [GetPortCapability](#getportcapability) ([in] struct [AudioPort](_audio_port_v10.md) port, [out] struct [AudioPortCapability](_audio_port_capability_v10.md) capability) | 获取一个音频适配器的端口驱动的能力集。 |
36| [SetPassthroughMode](#setpassthroughmode) ([in] struct [AudioPort](_audio_port_v10.md) port, [in] enum [AudioPortPassthroughMode](_hdi_audio_v11.md#audioportpassthroughmode) mode) | 设置音频端口驱动的数据透传模式。 |
37| [GetPassthroughMode](#getpassthroughmode) ([in] struct [AudioPort](_audio_port_v10.md) port, [out] enum [AudioPortPassthroughMode](_hdi_audio_v11.md#audioportpassthroughmode) mode) | 获取音频端口驱动的数据透传模式。 |
38| [GetDeviceStatus](#getdevicestatus) ([out] struct [AudioDeviceStatus](_audio_device_status_v10.md) status) | 获取一个音频适配器的设备状态。 |
39| [UpdateAudioRoute](#updateaudioroute) ([in] struct [AudioRoute](_audio_route_v10.md) route, [out] int routeHandle) | 更新音频路由。 |
40| [ReleaseAudioRoute](#releaseaudioroute) ([in] int routeHandle) | 释放音频路由。 |
41| [SetMicMute](#setmicmute) ([in] boolean mute) | 设置音频静音。 |
42| [GetMicMute](#getmicmute) ([out] boolean mute) | 获取音频静音状态。 |
43| [SetVoiceVolume](#setvoicevolume) ([in] float volume) | 设置语音呼叫的音量。 |
44| [SetExtraParams](#setextraparams) ([in] enum [AudioExtParamKey](_hdi_audio_v11.md#audioextparamkey) key, [in] String condition, [in] String value) | 根据指定的条件设置音频拓展参数。 |
45| [GetExtraParams](#getextraparams) ([in] enum [AudioExtParamKey](_hdi_audio_v11.md#audioextparamkey) key, [in] String condition, [out] String value) | 根据指定条件获取音频扩展参数的取值。 |
46| [RegExtraParamObserver](#regextraparamobserver) ([in] [IAudioCallback](interface_i_audio_callback_v10.md) audioCallback, [in] byte cookie) | 注册扩展参数回调函数。 |
47
48
49## 成员函数说明
50
51
52### CreateCapture()
53
54```
55IAudioAdapter::CreateCapture ([in] struct AudioDeviceDescriptor desc, [in] struct AudioSampleAttributes attrs, [out] IAudioCapture capture, [out] unsigned int captureId )
56```
57
58**描述**
59
60创建一个音频录音接口的对象。
61
62**起始版本:** 4.0
63
64**参数:**
65
66| 名称 | 描述 |
67| -------- | -------- |
68| adapter | 调用当前函数的AudioAdapter指针对象。 |
69| desc | 待打开的音频设备描述符,详请参考[AudioDeviceDescriptor](_audio_device_descriptor_v10.md)。 |
70| attrs | 待打开的音频采样属性,详请参考[AudioSampleAttributes](_audio_sample_attributes_v10.md)。 |
71| capture | 获取的音频录音接口的对象实例保存到capture中,详请参考[IAudioCapture](interface_i_audio_capture_v10.md)。 |
72| captureId | 获取的音频录音接口的序号 |
73
74**返回:**
75
76成功返回值0,失败返回负值。
77
78**参见:**
79
80[GetPortCapability](#getportcapability)
81
82[DestroyCapture](#destroycapture)
83
84
85### CreateRender()
86
87```
88IAudioAdapter::CreateRender ([in] struct AudioDeviceDescriptor desc, [in] struct AudioSampleAttributes attrs, [out] IAudioRender render, [out] unsigned int renderId )
89```
90
91**描述**
92
93创建一个音频播放接口的对象。
94
95**起始版本:** 4.0
96
97**参数:**
98
99| 名称 | 描述 |
100| -------- | -------- |
101| adapter | 调用当前函数的AudioAdapter指针对象。 |
102| desc | 待打开的音频设备描述符,详请参考[AudioDeviceDescriptor](_audio_device_descriptor_v10.md)。 |
103| attrs | 待打开的音频采样属性,详请参考[AudioSampleAttributes](_audio_sample_attributes_v10.md)。 |
104| render | 获取的音频播放接口的对象实例保存到render中,详请参考[IAudioRender](interface_i_audio_render_v10.md)。 |
105| renderId | 获取的音频播放接口序号。 |
106
107**返回:**
108
109成功返回值0,失败返回负值。
110
111**参见:**
112
113[GetPortCapability](#getportcapability)
114
115[DestroyRender](#destroyrender)
116
117
118### DestroyCapture()
119
120```
121IAudioAdapter::DestroyCapture ([in] unsigned int captureId)
122```
123
124**描述**
125
126销毁一个音频录音接口的对象。
127
128**起始版本:** 4.0
129
130**参数:**
131
132| 名称 | 描述 |
133| -------- | -------- |
134| adapter | 调用当前函数的AudioAdapter指针对象。 |
135| captureId | 待销毁的音频录音接口的序号 |
136
137**注意:**
138
139在音频录音过程中,不能销毁该接口对象。
140
141**返回:**
142
143成功返回值0,失败返回负值。
144
145**参见:**
146
147[CreateCapture](#createcapture)
148
149
150### DestroyRender()
151
152```
153IAudioAdapter::DestroyRender ([in] unsigned int renderId)
154```
155
156**描述**
157
158销毁一个音频播放接口的对象。
159
160**起始版本:** 4.0
161
162**参数:**
163
164| 名称 | 描述 |
165| -------- | -------- |
166| adapter | 调用当前函数的AudioAdapter指针对象。 |
167| renderId | 待销毁的音频播放接口的序号 |
168
169**注意:**
170
171在音频播放过程中,不能销毁该接口对象。
172
173**返回:**
174
175成功返回值0,失败返回负值。
176
177**参见:**
178
179[CreateRender](#createrender)
180
181
182### GetDeviceStatus()
183
184```
185IAudioAdapter::GetDeviceStatus ([out] struct AudioDeviceStatus status)
186```
187
188**描述**
189
190获取一个音频适配器的设备状态。
191
192**起始版本:** 4.0
193
194**参数:**
195
196| 名称 | 描述 |
197| -------- | -------- |
198| adapter | 调用当前函数的AudioAdapter指针对象。 |
199| status | 获取的设备状态保存到status中,详请参考[AudioDeviceStatus](_audio_device_status_v10.md)。 |
200
201**返回:**
202
203成功返回值0,失败返回负值。
204
205
206### GetExtraParams()
207
208```
209IAudioAdapter::GetExtraParams ([in] enum AudioExtParamKey key, [in] String condition, [out] String value )
210```
211
212**描述**
213
214根据指定条件获取音频扩展参数的取值。
215
216condition为多个键值对组成的字符串,多个键值对之间通过分号分割,键值对的格式为"keytype=keyvalue"。 当输入的key值为AudioExtParamKey::AUDIO_EXT_PARAM_KEY_VOLUME时,condition的格式必须为: "EVENT_TYPE=xxx;VOLUME_GROUP_ID=xxx;AUDIO_VOLUME_TYPE=xxx;"
217
218- EVENT_TYPE 表示音量事件类型:其中1表示设置音量,4表示设置静音。
219
220- VOLUME_GROUP_ID 表示待查询的音频扩展参数相关的音量组。
221
222- AUDIO_VOLUME_TYPE 表示待查询的音频扩展参数相关的音量类型。
223
224**起始版本:** 4.0
225
226**参数:**
227
228| 名称 | 描述 |
229| -------- | -------- |
230| adapter | 调用当前函数的AudioAdapter指针对象。 |
231| key | 指定的扩展参数键类型,详请参考[AudioExtParamKey](_hdi_audio_v11.md#audioextparamkey)。 |
232| condition | 指定的扩展参数查询条件。 |
233| value | 待返回的指定扩展参数条件的当前值。 |
234| lenth | value的长度 |
235
236**返回:**
237
238成功返回值0,失败返回负值。
239
240
241### GetMicMute()
242
243```
244IAudioAdapter::GetMicMute ([out] boolean mute)
245```
246
247**描述**
248
249获取音频静音状态。
250
251**起始版本:** 4.0
252
253**参数:**
254
255| 名称 | 描述 |
256| -------- | -------- |
257| adapter | 调用当前函数的AudioAdapter指针对象。 |
258| mute | 获取的静音状态保存到mute中,true表示静音,false表示非静音。 |
259
260**返回:**
261
262成功返回值0,失败返回负值。
263
264**参见:**
265
266[GetMicMute](#getmicmute)
267
268
269### GetPassthroughMode()
270
271```
272IAudioAdapter::GetPassthroughMode ([in] struct AudioPort port, [out] enum AudioPortPassthroughMode mode )
273```
274
275**描述**
276
277获取音频端口驱动的数据透传模式。
278
279**起始版本:** 4.0
280
281**参数:**
282
283| 名称 | 描述 |
284| -------- | -------- |
285| adapter | 调用当前函数的AudioAdapter指针对象。 |
286| port | 待获取的端口,详请参考[AudioPort](_audio_port_v10.md)。 |
287| mode | 获取的传输模式保存到mode中,详请参考[AudioPortPassthroughMode](_hdi_audio_v11.md#audioportpassthroughmode)。 |
288
289**返回:**
290
291成功返回值0,失败返回负值。
292
293**参见:**
294
295[SetPassthroughMode](#setpassthroughmode)
296
297
298### GetPortCapability()
299
300```
301IAudioAdapter::GetPortCapability ([in] struct AudioPort port, [out] struct AudioPortCapability capability )
302```
303
304**描述**
305
306获取一个音频适配器的端口驱动的能力集。
307
308**起始版本:** 4.0
309
310**参数:**
311
312| 名称 | 描述 |
313| -------- | -------- |
314| adapter | 调用当前函数的AudioAdapter指针对象。 |
315| port | 待获取的端口,详请参考[AudioPort](_audio_port_v10.md)。 |
316| capability | 获取的端口能力保存到capability中,详请参考[AudioPortCapability](_audio_port_capability_v10.md)。 |
317
318**返回:**
319
320成功返回值0,失败返回负值。
321
322
323### InitAllPorts()
324
325```
326IAudioAdapter::InitAllPorts ()
327```
328
329**描述**
330
331初始化一个音频适配器所有的端口驱动。 在音频服务中,调用其他驱动接口前需要先调用该接口检查端口是否已经初始化完成,如果端口没有初始化完成, 则需要等待一段时间(例如100ms)后重新进行检查,直到端口初始化完成后再继续操作。
332
333**起始版本:** 4.0
334
335**参数:**
336
337| 名称 | 描述 |
338| -------- | -------- |
339| adapter | 调用当前函数的AudioAdapter指针对象。 |
340
341**返回:**
342
343初始化完成返回值0,初始化失败返回负值。
344
345
346### RegExtraParamObserver()
347
348```
349IAudioAdapter::RegExtraParamObserver ([in] IAudioCallback audioCallback, [in] byte cookie )
350```
351
352**描述**
353
354注册扩展参数回调函数。
355
356**起始版本:** 3.2
357
358**参数:**
359
360| 名称 | 描述 |
361| -------- | -------- |
362| adapter | 调用当前函数的AudioAdapter指针对象。 |
363| callback | 待注册的回调函数,详请参考[IAudioCallback](interface_i_audio_callback_v10.md)。 |
364| cookie | 用于传递数据。 |
365
366**返回:**
367
368成功返回值0,失败返回负值。
369
370
371### ReleaseAudioRoute()
372
373```
374IAudioAdapter::ReleaseAudioRoute ([in] int routeHandle)
375```
376
377**描述**
378
379释放音频路由。
380
381**起始版本:** 4.0
382
383**参数:**
384
385| 名称 | 描述 |
386| -------- | -------- |
387| adapter | 调用当前函数的AudioAdapter指针对象。 |
388| routeHandle | 待释放的音频路由句柄。 |
389
390**返回:**
391
392成功返回值0,失败返回负值。
393
394
395### SetExtraParams()
396
397```
398IAudioAdapter::SetExtraParams ([in] enum AudioExtParamKey key, [in] String condition, [in] String value )
399```
400
401**描述**
402
403根据指定的条件设置音频拓展参数。
404
405condition为多个键值对组成的字符串,多个键值对之间通过分号分割,键值对的格式为"keytype=keyvalue"。 当输入的key值为AudioExtParamKey::AUDIO_EXT_PARAM_KEY_VOLUME时,condition的格式必须为: "EVENT_TYPE=xxx;VOLUME_GROUP_ID=xxx;AUDIO_VOLUME_TYPE=xxx;"
406
407- EVENT_TYPE 表示音量事件类型:其中1表示设置音量,4表示设置静音。
408
409- VOLUME_GROUP_ID 表示待设置的音频扩展参数相关的音量组。
410
411- AUDIO_VOLUME_TYPE 表示待设置的音频扩展参数相关的音量类型。
412
413**起始版本:** 4.0
414
415**参数:**
416
417| 名称 | 描述 |
418| -------- | -------- |
419| adapter | 调用当前函数的AudioAdapter指针对象。 |
420| key | 指定的扩展参数键类型,详请参考[AudioExtParamKey](_hdi_audio_v11.md#audioextparamkey)。 |
421| condition | 指定的扩展参数查询条件。 |
422| value | 指定的扩展参数条件值。 |
423
424**返回:**
425
426成功返回值0,失败返回负值。
427
428
429### SetMicMute()
430
431```
432IAudioAdapter::SetMicMute ([in] boolean mute)
433```
434
435**描述**
436
437设置音频静音。
438
439**起始版本:** 4.0
440
441**参数:**
442
443| 名称 | 描述 |
444| -------- | -------- |
445| adapter | 调用当前函数的AudioAdapter指针对象。 |
446| mute | 表示是否将音频静音,true表示静音,false表示非静音。 |
447
448**返回:**
449
450成功返回值0,失败返回负值。
451
452**参见:**
453
454[SetMicMute](#setmicmute)
455
456
457### SetPassthroughMode()
458
459```
460IAudioAdapter::SetPassthroughMode ([in] struct AudioPort port, [in] enum AudioPortPassthroughMode mode )
461```
462
463**描述**
464
465设置音频端口驱动的数据透传模式。
466
467**起始版本:** 4.0
468
469**参数:**
470
471| 名称 | 描述 |
472| -------- | -------- |
473| adapter | 调用当前函数的AudioAdapter指针对象。 |
474| port | 待设置的端口,详请参考[AudioPort](_audio_port_v10.md)。 |
475| mode | 待设置的传输模式,详请参考[AudioPortPassthroughMode](_hdi_audio_v11.md#audioportpassthroughmode)。 |
476
477**返回:**
478
479成功返回值0,失败返回负值。
480
481**参见:**
482
483[GetPassthroughMode](#getpassthroughmode)
484
485
486### SetVoiceVolume()
487
488```
489IAudioAdapter::SetVoiceVolume ([in] float volume)
490```
491
492**描述**
493
494设置语音呼叫的音量。
495
496音量范围从0.0到1.0。如果音频服务中的音量水平在0到15的范围内, 0.0表示音频静音,1.0指示最大音量级别(15)。
497
498**起始版本:** 4.0
499
500**参数:**
501
502| 名称 | 描述 |
503| -------- | -------- |
504| adapter | 调用当前函数的AudioAdapter指针对象。 |
505| volume | 待设置的音量值,范围为(0.0-1.0),0.0表示最小音量值,1.0表示最大音量值。 |
506
507**返回:**
508
509成功返回值0,失败返回负值。
510
511**参见:**
512
513GetVolume
514
515
516### UpdateAudioRoute()
517
518```
519IAudioAdapter::UpdateAudioRoute ([in] struct AudioRoute route, [out] int routeHandle )
520```
521
522**描述**
523
524更新音频路由。
525
526**起始版本:** 4.0
527
528**参数:**
529
530| 名称 | 描述 |
531| -------- | -------- |
532| adapter | 调用当前函数的AudioAdapter指针对象。 |
533| route | 待更新的路由,详请参考[AudioRoute](_audio_route_v10.md)。 |
534| routeHandle | 更新后的音频路由句柄保存到routeHandle中。 |
535
536**返回:**
537
538成功返回值0,失败返回负值。
539