• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# AudioAdapter
2
3
4## **概述**
5
6AudioAdapter音频适配器接口。
7
8提供音频适配器(声卡)对外支持的驱动能力,包括初始化端口、创建Render、创建Capture、获取端口能力集等。
9
10**Since:**
11
121.0
13
14**Version:**
15
161.0
17
18**相关模块:**
19
20[Audio](_audio.md)
21
22**参见:**
23
24[AudioRender](_audio_render.md)
25
26[AudioCapture](_audio_capture.md)
27
28
29## **汇总**
30
31
32### Public 属性
33
34  | 名称 | 描述 |
35| -------- | -------- |
36| ([InitAllPorts](#initallports))(struct AudioAdapter \*adapter) | 初始化一个音频适配器所有的端口驱动 |
37| ([CreateRender](#createrender) )(struct AudioAdapter \*adapter, const struct AudioDeviceDescriptor \*desc, const struct AudioSampleAttributes \*attrs, struct AudioRender \*\*render) | 创建一个音频播放(Render)接口的对象 |
38| ([DestroyRender](#destroyrender) )(struct AudioAdapter \*adapter, struct AudioRender \*render) | 销毁一个音频播放(Render)接口的对象 |
39| ([CreateCapture](#createcapture))(struct AudioAdapter \*adapter, const struct AudioDeviceDescriptor \*desc, const struct AudioSampleAttributes \*attrs, struct AudioCapture \*\*capture) | 创建一个音频录音(Capture)接口的对象 |
40| ([DestroyCapture](#destroycapture))(struct AudioAdapter \*adapter, struct AudioCapture \*capture) | 销毁一个音频录音(Capture)接口的对象 |
41| ([GetPortCapability](#getportcapability) )(struct AudioAdapter \*adapter, struct AudioPort \*port, struct AudioPortCapability \*capability) | 获取一个音频适配器的端口驱动的能力集 |
42| ([SetPassthroughMode](#setpassthroughmode) )(struct AudioAdapter \*adapter, struct AudioPort \*port, enum AudioPortPassthroughMode mode) | 设置音频端口驱动的数据透传模式 |
43| ([GetPassthroughMode](#getpassthroughmode))(struct AudioAdapter \*adapter, struct AudioPort \*port, enum AudioPortPassthroughMode \*mode) | 获取音频端口驱动的数据透传模式 |
44| ([UpdateAudioRoute](#updateaudioroute))(struct AudioAdapter \*adapter, const struct AudioRoute \*route, int32_t \*routeHandle) | 更新一个或多个发送端和接受端之间的路由 |
45| ([ReleaseAudioRoute](#releaseaudioroute))(struct AudioAdapter \*adapter, int32_t routeHandle) | 释放一个音频路由 |
46
47
48## **类成员变量说明**
49
50
51### CreateCapture
52
53
54```
55int32_t(* AudioAdapter::CreateCapture) (struct AudioAdapter *adapter, const struct AudioDeviceDescriptor *desc, const struct AudioSampleAttributes *attrs, struct AudioCapture **capture)
56```
57
58**描述:**
59
60创建一个音频录音(Capture)接口的对象。
61
62**参数:**
63
64  | 名称 | 描述 |
65| -------- | -------- |
66| adapter | 待操作的音频适配器的指针 |
67| desc | 指向要启动的音频适配器的描述符的指针 |
68| attrs | 指向要打开的音频采样属性的指针 |
69| capture | 指向AudioCapture对象的二级指针 |
70
71**返回:**
72
73成功返回值0,失败返回负值。
74
75**参见:**
76
77[GetPortCapability](#getportcapability)
78
79[DestroyCapture](#destroycapture)
80
81
82### CreateRender
83
84
85```
86int32_t(* AudioAdapter::CreateRender) (struct AudioAdapter *adapter, const struct AudioDeviceDescriptor *desc, const struct AudioSampleAttributes *attrs, struct AudioRender **render)
87```
88
89**描述:**
90
91创建一个音频播放(Render)接口的对象。
92
93**参数:**
94
95  | 名称 | 描述 |
96| -------- | -------- |
97| adapter | 待操作的音频适配器对象 |
98| desc | 待打开的音频设备描述符 |
99| attrs | 待打开的音频采样属性 |
100| render | 获取的音频播放接口的对象实例保存到render中 |
101
102**返回:**
103
104成功返回值0,失败返回负值。
105
106**参见:**
107
108[GetPortCapability](#getportcapability)
109
110[DestroyRender](#destroyrender)
111
112
113### DestroyCapture
114
115
116```
117int32_t(* AudioAdapter::DestroyCapture) (struct AudioAdapter *adapter, struct AudioCapture *capture)
118```
119
120**描述:**
121
122销毁一个音频录音(Capture)接口的对象。
123
124**参数:**
125
126  | 名称 | 描述 |
127| -------- | -------- |
128| adapter | 待操作的音频适配器对象 |
129| capture | 待操作的音频录音接口对象 |
130
131**注意:**
132
133在音频录音过程中,不能销毁该接口对象。
134
135**返回:**
136
137成功返回值0,失败返回负值。
138
139**参见:**
140
141[CreateCapture](#createcapture)
142
143
144### DestroyRender
145
146
147```
148int32_t(* AudioAdapter::DestroyRender) (struct AudioAdapter *adapter, struct AudioRender *render)
149```
150
151**描述:**
152
153销毁一个音频播放(Render)接口的对象。
154
155**参数:**
156
157  | 名称 | 描述 |
158| -------- | -------- |
159| adapter | 待操作的音频适配器对象 |
160| render | 待操作的音频播放接口对象 |
161
162**注意:**
163
164在音频播放过程中,不能销毁该接口对象
165
166**返回:**
167
168成功返回值0,失败返回负值。
169
170**参见:**
171
172[CreateRender](#createrender)
173
174
175### GetPassthroughMode
176
177
178```
179int(* AudioAdapter::GetPassthroughMode) (struct AudioAdapter *adapter, struct AudioPort *port, enum AudioPortPassthroughMode *mode)
180```
181
182**描述:**
183
184获取音频端口驱动的数据透传模式。
185
186**参数:**
187
188  | 名称 | 描述 |
189| -------- | -------- |
190| adapter | 待操作的音频适配器对象 |
191| port | 待获取的端口 |
192| mode | 获取的传输模式保存到mode中 |
193
194**返回:**
195
196成功返回值0,失败返回负值。
197
198**参见:**
199
200[SetPassthroughMode](#setpassthroughmode)
201
202
203### GetPortCapability
204
205
206```
207int(* AudioAdapter::GetPortCapability) (struct AudioAdapter *adapter, struct AudioPort *port, struct AudioPortCapability *capability)
208```
209
210**描述:**
211
212获取一个音频适配器的端口驱动的能力集。
213
214**参数:**
215
216  | 名称 | 描述 |
217| -------- | -------- |
218| adapter | 待操作的音频适配器对象 |
219| port | 待获取的端口 |
220| capability | 获取的端口能力保存到capability中 |
221
222**返回:**
223
224成功返回值0,失败返回负值。
225
226
227### InitAllPorts
228
229
230```
231int(* AudioAdapter::InitAllPorts) (struct AudioAdapter *adapter)
232```
233
234**描述:**
235
236初始化一个音频适配器所有的端口驱动。
237
238在音频服务中,调用其他驱动接口前需要首先调用该接口检查端口是否已经初始化完成:
239
240- 如果端口驱动初始化完成,则函数返回值0, 否则返回负值。
241
242- 如果端口没有初始化完成,则需要等待一段时间(例如100ms)后重新进行检查,直到端口初始化完成后再继续操作。
243
244**参数:**
245
246  | 名称 | 描述 |
247| -------- | -------- |
248| adapter | 待操作的音频适配器对象 |
249
250**返回:**
251
252成功返回值0,失败返回负值。
253
254
255### ReleaseAudioRoute
256
257
258```
259int32_t(* AudioAdapter::ReleaseAudioRoute) (struct AudioAdapter *adapter, int32_t routeHandle)
260```
261
262**描述:**
263
264释放一个音频路由。
265
266**参数:**
267
268  | 名称 | 描述 |
269| -------- | -------- |
270| adapter | 待操作的音频适配器对象 |
271| routeHandle | 待释放的路由句柄 |
272
273**返回:**
274
275成功返回值0,失败返回负值。
276
277
278### SetPassthroughMode
279
280
281```
282int(* AudioAdapter::SetPassthroughMode) (struct AudioAdapter *adapter, struct AudioPort *port, enum AudioPortPassthroughMode mode)
283```
284
285**描述:**
286
287设置音频端口驱动的数据透传模式。
288
289**参数:**
290
291  | 名称 | 描述 |
292| -------- | -------- |
293| adapter | 待操作的音频适配器对象 |
294| port | 待设置的端口 |
295| mode | 待设置的传输模式 |
296
297**返回:**
298
299成功返回值0,失败返回负值。
300
301**参见:**
302
303[GetPassthroughMode](#getpassthroughmode)
304
305
306### UpdateAudioRoute
307
308
309```
310int32_t(* AudioAdapter::UpdateAudioRoute) (struct AudioAdapter *adapter, const struct AudioRoute *route, int32_t *routeHandle)
311```
312
313**描述:**
314
315更新一个或多个发送端和接受端之间的路由。
316
317**参数:**
318
319  | 名称 | 描述 |
320| -------- | -------- |
321| adapter | 待操作的音频适配器对象 |
322| route | 路由信息 |
323| routeHandle | 生成的路由句柄 |
324
325**返回:**
326
327成功返回值0,失败返回负值。
328