• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# AudioAttribute
2
3
4## **概述**
5
6AudioAttribute音频属性接口。
7
8提供音频播放(Render)或录音(Capture)需要的公共属性驱动能力,包括获取帧(frame)信息、设置采样属性等。
9
10**Since:**
11
121.0
13
14**Version:**
15
161.0
17
18**相关模块:**
19
20[Audio](_audio.md)
21
22
23## **汇总**
24
25
26### Public 属性
27
28  | 名称 | 描述 |
29| -------- | -------- |
30| ([GetFrameSize](#getframesize))(AudioHandle handle, uint64_t \*size) | 获取音频帧(frame)的大小 |
31| ([GetFrameCount](#getframecount))(AudioHandle handle, uint64_t \*count) | 获取音频buffer中的音频帧数 |
32| ([SetSampleAttributes](#setsampleattributes))(AudioHandle handle, const struct AudioSampleAttributes \*attrs) | 设置音频采样的属性参数 |
33| ([GetSampleAttributes](#getsampleattributes))(AudioHandle handle, struct AudioSampleAttributes \*attrs) | 获取音频采样的属性参数 |
34| ([GetCurrentChannelId](#getcurrentchannelid))(AudioHandle handle, uint32_t \*channelId) | 获取音频的数据通道ID |
35| ([SetExtraParams](#setextraparams))(AudioHandle handle, const char \*keyValueList) | 设置音频拓展参数 |
36| ([GetExtraParams](#getextraparams))(AudioHandle handle, char \*keyValueList) | 获取音频拓展参数 |
37| ([ReqMmapBuffer](#reqmmapbuffer))(AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescriptor \*desc) | 请求Mmap缓冲区 |
38| ([GetMmapPosition](#getmmapposition))(AudioHandle handle, uint64_t \*frames, struct AudioTimeStamp \*time) | 获取当前Mmap的读/写位置 |
39| ([AddAudioEffect](#addaudioeffect))(AudioHandle handle, uint64_t effectid) | 添加音频效果算法实例 |
40| ([RemoveAudioEffect](#removeaudioeffect))(AudioHandle handle, uint64_t effectid) | 移除音频效果算法实例 |
41| ([GetFrameBufferSize](#getframebuffersize))(AudioHandle handle, uint64_t \*bufferSize) | 获取播放或录音的缓冲区大小 |
42
43
44## **类成员变量说明**
45
46
47### AddAudioEffect
48
49
50```
51int32_t (*AudioAttribute::AddAudioEffect)(AudioHandle handle, uint64_t effectid)
52```
53
54**描述:**
55
56添加音频效果算法实例。
57
58**参数:**
59
60  | 名称 | 描述 |
61| -------- | -------- |
62| handle | 输入参数,待操作的音频句柄。 |
63| effectid | 输入参数,待添加的音频效果算法实例ID。 |
64
65**返回:**
66
67成功返回值0,失败返回负值。
68
69
70### GetCurrentChannelId
71
72
73```
74int32_t(* AudioAttribute::GetCurrentChannelId) (AudioHandle handle, uint32_t *channelId)
75```
76
77**描述:**
78
79获取音频的数据通道ID。
80
81**参数:**
82
83  | 名称 | 描述 |
84| -------- | -------- |
85| handle | 输入参数,待操作的音频句柄。 |
86| channelId | 输出参数,获取的通道ID保存到channelId中。 |
87
88**返回:**
89
90成功返回值0,失败返回负值。
91
92
93### GetExtraParams
94
95
96```
97int32_t(* AudioAttribute::GetExtraParams) (AudioHandle handle, char *keyValueList)
98```
99
100**描述:**
101
102获取音频拓展参数。
103
104**参数:**
105
106  | 名称 | 描述 |
107| -------- | -------- |
108| handle | 输入参数,待操作的音频句柄。 |
109| keyValueList | 输出参数,拓展参数键值对字符串列表,格式为key=value,多个键值对通过分号分割。 |
110
111**返回:**
112
113成功返回值0,失败返回负值。
114
115
116### GetFrameBufferSize
117
118
119```
120int32_t (*AudioAttribute::GetFrameBufferSize)(AudioHandle handle, uint64_t *bufferSize)
121```
122
123**描述:**
124
125获取播放或录音的缓冲区大小。
126
127**参数:**
128
129  | 名称 | 描述 |
130| -------- | -------- |
131| handle | 输入参数,待操作的音频句柄。 |
132| bufferSize | 输出参数,获取的缓冲区大小保存到bufferSize中。 |
133
134**返回:**
135
136成功返回值0,失败返回负值。
137
138
139### GetFrameCount
140
141
142```
143int32_t(* AudioAttribute::GetFrameCount) (AudioHandle handle, uint64_t *count)
144```
145
146**描述:**
147
148获取音频buffer中的音频帧数。
149
150**参数:**
151
152  | 名称 | 描述 |
153| -------- | -------- |
154| handle | 输入参数,待操作的音频句柄。 |
155| count | 输出参数,一个音频buffer中包含的音频帧数,获取后保存到count中。 |
156
157**返回:**
158
159成功返回值0,失败返回负值。
160
161
162### GetFrameSize
163
164
165```
166int32_t(* AudioAttribute::GetFrameSize) (AudioHandle handle, uint64_t *size)
167```
168
169**描述:**
170
171获取音频帧(frame)的大小,即一帧音频数据的长度(字节数)。
172
173**参数:**
174
175  | 名称 | 描述 |
176| -------- | -------- |
177| handle | 输入参数,待操作的音频句柄。 |
178| size | 输出参数,获取的音频帧大小(字节数)保存到size中。 |
179
180**返回:**
181
182成功返回值0,失败返回负值。
183
184
185### GetMmapPosition
186
187
188```
189int32_t(* AudioAttribute::GetMmapPosition) (AudioHandle handle, uint64_t *frames, struct AudioTimeStamp *time)
190```
191
192**描述:**
193
194获取当前Mmap的读/写位置。
195
196**参数:**
197
198  | 名称 | 描述 |
199| -------- | -------- |
200| handle | 输入参数,待操作的音频句柄。 |
201| frames | 输出参数,获取的音频帧计数保存到frames中。 |
202| time | 输出参数,获取的关联时间戳保存到time中。 |
203
204**返回:**
205
206成功返回值0,失败返回负值。
207
208
209### GetSampleAttributes
210
211
212```
213int32_t(* AudioAttribute::GetSampleAttributes) (AudioHandle handle, struct AudioSampleAttributes *attrs)
214```
215
216**描述:**
217
218获取音频采样的属性参数。
219
220**参数:**
221
222  | 名称 | 描述 |
223| -------- | -------- |
224| handle | 输入参数,待操作的音频句柄。 |
225| attrs | 输出参数,获取的音频采样属性(例如采样频率、采样精度、通道)保存到attrs中。 |
226
227**返回:**
228
229成功返回值0,失败返回负值。
230
231**参见:**
232
233[GetSampleAttributes](#getsampleattributes)
234
235
236### RemoveAudioEffect
237
238
239```
240int32_t (*AudioAttribute::RemoveAudioEffect)(AudioHandle handle, uint64_t effectid)
241```
242
243**描述:**
244
245移除音频效果算法实例。
246
247**参数:**
248
249  | 名称 | 描述 |
250| -------- | -------- |
251| handle | 输入参数,待操作的音频句柄。 |
252| effectid | 输入参数,待移除的音频效果算法实例ID。 |
253
254**返回:**
255
256成功返回值0,失败返回负值。
257
258
259### ReqMmapBuffer
260
261
262```
263int32_t(* AudioAttribute::ReqMmapBuffer) (AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescriptor *desc)
264```
265
266**描述:**
267
268请求Mmap缓冲区。
269
270**参数:**
271
272  | 名称 | 描述 |
273| -------- | -------- |
274| handle | 输入参数,待操作的音频句柄。 |
275| reqSize | 输入参数,请求缓冲区的大小。 |
276| desc | 输出参数,缓冲区描述符。 |
277
278**返回:**
279
280成功返回值0,失败返回负值。
281
282
283### SetExtraParams
284
285
286```
287int32_t(* AudioAttribute::SetExtraParams) (AudioHandle handle, const char *keyValueList)
288```
289
290**描述:**
291
292设置音频拓展参数。
293
294**参数:**
295
296  | 名称 | 描述 |
297| -------- | -------- |
298| handle | 输入参数,待操作的音频句柄。 |
299| keyValueList | 输入参数,拓展参数键值对字符串列表,格式为key=value,多个键值对通过分号分割。 |
300
301**返回:**
302
303成功返回值0,失败返回负值。
304
305
306### SetSampleAttributes
307
308
309```
310int32_t(* AudioAttribute::SetSampleAttributes) (AudioHandle handle, const struct AudioSampleAttributes *attrs)
311```
312
313**描述:**
314
315设置音频采样的属性参数。
316
317**参数:**
318
319  | 名称 | 描述 |
320| -------- | -------- |
321| handle | 输入参数,待操作的音频句柄。 |
322| attrs | 输入参数,待设置的音频采样属性,例如采样频率、采样精度、通道。 |
323
324**返回:**
325
326成功返回值0,失败返回负值。
327
328**参见:**
329
330[GetSampleAttributes](#getsampleattributes)
331