_audio_attribute.md 7.6 KB
Newer Older
D
hdi api  
duangavin123 已提交
1 2 3 4 5
# AudioAttribute


## **概述**

D
duangavin123 已提交
6
AudioAttribute音频属性接口。
D
hdi api  
duangavin123 已提交
7

8
提供音频播放(Render)或录音(Capture)需要的公共属性驱动能力,包括获取帧(frame)信息、设置采样属性等。
D
hdi api  
duangavin123 已提交
9

D
duangavin123 已提交
10
**Since:**
D
hdi api  
duangavin123 已提交
11

D
duangavin123 已提交
12
1.0
D
hdi api  
duangavin123 已提交
13

D
duangavin123 已提交
14
**Version:**
D
hdi api  
duangavin123 已提交
15

D
duangavin123 已提交
16
1.0
D
hdi api  
duangavin123 已提交
17

D
duangavin123 已提交
18
**相关模块:**
D
hdi api  
duangavin123 已提交
19

D
duangavin123 已提交
20
[Audio](_audio.md)
D
hdi api  
duangavin123 已提交
21 22


D
duangavin123 已提交
23
## **汇总**
D
hdi api  
duangavin123 已提交
24 25


D
duangavin123 已提交
26
### Public 属性
D
hdi api  
duangavin123 已提交
27

D
duangavin123 已提交
28 29 30 31 32 33 34 35 36
  | 名称 | 描述 | 
| -------- | -------- |
| ([GetFrameSize](#getframesize))(AudioHandle handle, uint64_t \*size) | 获取音频帧(frame)的大小 | 
| ([GetFrameCount](#getframecount))(AudioHandle handle, uint64_t \*count) | 获取音频buffer中的音频帧数 | 
| ([SetSampleAttributes](#setsampleattributes))(AudioHandle handle, const struct AudioSampleAttributes \*attrs) | 设置音频采样的属性参数 | 
| ([GetSampleAttributes](#getsampleattributes))(AudioHandle handle, struct AudioSampleAttributes \*attrs) | 获取音频采样的属性参数 | 
| ([GetCurrentChannelId](#getcurrentchannelid))(AudioHandle handle, uint32_t \*channelId) | 获取音频的数据通道ID | 
| ([SetExtraParams](#setextraparams))(AudioHandle handle, const char \*keyValueList) | 设置音频拓展参数 | 
| ([GetExtraParams](#getextraparams))(AudioHandle handle, char \*keyValueList) | 获取音频拓展参数 | 
37 38
| ([ReqMmapBuffer](#reqmmapbuffer))(AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescripter \*desc) | 请求Mmap缓冲区 | 
| ([GetMmapPosition](#getmmapposition))(AudioHandle handle, uint64_t \*frames, struct AudioTimeStamp \*time) | 获取当前Mmap的读/写位置 | 
D
duangavin123 已提交
39 40 41
| ([AddAudioEffect](#addaudioeffect))(AudioHandle handle, uint64_t effectid) | 添加音频效果算法实例 | 
| ([RemoveAudioEffect](#removeaudioeffect))(AudioHandle handle, uint64_t effectid) | 移除音频效果算法实例 | 
| ([GetFrameBufferSize](#getframebuffersize))(AudioHandle handle, uint64_t \*bufferSize) | 获取播放或录音的缓冲区大小 | 
D
hdi api  
duangavin123 已提交
42 43 44 45 46


## **类成员变量说明**


D
duangavin123 已提交
47
### AddAudioEffect
48

D
duangavin123 已提交
49
  
D
hdi api  
duangavin123 已提交
50
```
D
duangavin123 已提交
51
int32_t (*AudioAttribute::AddAudioEffect)(AudioHandle handle, uint64_t effectid)
D
hdi api  
duangavin123 已提交
52 53 54 55
```

**描述:**

56
添加音频效果算法实例。
D
hdi api  
duangavin123 已提交
57

D
duangavin123 已提交
58
**参数:**
D
hdi api  
duangavin123 已提交
59

D
duangavin123 已提交
60
  | 名称 | 描述 | 
D
hdi api  
duangavin123 已提交
61
| -------- | -------- |
D
duangavin123 已提交
62 63
| handle | 输入参数,待操作的音频句柄。 | 
| effectid | 输入参数,待添加的音频效果算法实例ID。 | 
D
hdi api  
duangavin123 已提交
64

D
duangavin123 已提交
65
**返回:**
D
hdi api  
duangavin123 已提交
66

67
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
68 69


D
duangavin123 已提交
70
### GetCurrentChannelId
71

D
duangavin123 已提交
72
  
D
hdi api  
duangavin123 已提交
73
```
D
duangavin123 已提交
74
int32_t(* AudioAttribute::GetCurrentChannelId) (AudioHandle handle, uint32_t *channelId)
D
hdi api  
duangavin123 已提交
75 76 77 78
```

**描述:**

79
获取音频的数据通道ID。
D
hdi api  
duangavin123 已提交
80

D
duangavin123 已提交
81
**参数:**
D
hdi api  
duangavin123 已提交
82

D
duangavin123 已提交
83
  | 名称 | 描述 | 
D
hdi api  
duangavin123 已提交
84
| -------- | -------- |
85 86
| handle | 输入参数,待操作的音频句柄。 | 
| channelId | 输出参数,获取的通道ID保存到channelId中。 | 
D
hdi api  
duangavin123 已提交
87

D
duangavin123 已提交
88
**返回:**
D
hdi api  
duangavin123 已提交
89

90
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
91 92


D
duangavin123 已提交
93
### GetExtraParams
94

D
duangavin123 已提交
95
  
D
hdi api  
duangavin123 已提交
96
```
D
duangavin123 已提交
97
int32_t(* AudioAttribute::GetExtraParams) (AudioHandle handle, char *keyValueList)
D
hdi api  
duangavin123 已提交
98 99 100 101
```

**描述:**

102
获取音频拓展参数。
D
hdi api  
duangavin123 已提交
103

D
duangavin123 已提交
104
**参数:**
D
hdi api  
duangavin123 已提交
105

D
duangavin123 已提交
106
  | 名称 | 描述 | 
D
hdi api  
duangavin123 已提交
107
| -------- | -------- |
108 109
| handle | 输入参数,待操作的音频句柄。 | 
| keyValueList | 输出参数,拓展参数键值对字符串列表,格式为key=value,多个键值对通过分号分割。 | 
D
hdi api  
duangavin123 已提交
110

D
duangavin123 已提交
111
**返回:**
D
hdi api  
duangavin123 已提交
112

113
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
114 115


D
duangavin123 已提交
116
### GetFrameBufferSize
117

D
duangavin123 已提交
118
  
D
hdi api  
duangavin123 已提交
119
```
D
duangavin123 已提交
120
int32_t (*AudioAttribute::GetFrameBufferSize)(AudioHandle handle, uint64_t *bufferSize)
D
hdi api  
duangavin123 已提交
121 122 123 124
```

**描述:**

125
获取播放或录音的缓冲区大小。
D
hdi api  
duangavin123 已提交
126

D
duangavin123 已提交
127
**参数:**
D
hdi api  
duangavin123 已提交
128

D
duangavin123 已提交
129
  | 名称 | 描述 | 
D
hdi api  
duangavin123 已提交
130
| -------- | -------- |
D
duangavin123 已提交
131 132
| handle | 输入参数,待操作的音频句柄。 | 
| bufferSize | 输出参数,获取的缓冲区大小保存到bufferSize中。 | 
D
hdi api  
duangavin123 已提交
133

D
duangavin123 已提交
134
**返回:**
D
hdi api  
duangavin123 已提交
135

136
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
137 138


D
duangavin123 已提交
139
### GetFrameCount
140

D
duangavin123 已提交
141
  
D
hdi api  
duangavin123 已提交
142
```
D
duangavin123 已提交
143
int32_t(* AudioAttribute::GetFrameCount) (AudioHandle handle, uint64_t *count)
D
hdi api  
duangavin123 已提交
144 145 146 147
```

**描述:**

148
获取音频buffer中的音频帧数。
D
hdi api  
duangavin123 已提交
149

D
duangavin123 已提交
150
**参数:**
D
hdi api  
duangavin123 已提交
151

D
duangavin123 已提交
152
  | 名称 | 描述 | 
D
hdi api  
duangavin123 已提交
153
| -------- | -------- |
154 155
| handle | 输入参数,待操作的音频句柄。 | 
| count | 输出参数,一个音频buffer中包含的音频帧数,获取后保存到count中。 | 
D
hdi api  
duangavin123 已提交
156

D
duangavin123 已提交
157
**返回:**
D
hdi api  
duangavin123 已提交
158

159
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
160 161


D
duangavin123 已提交
162
### GetFrameSize
163

D
duangavin123 已提交
164
  
D
hdi api  
duangavin123 已提交
165
```
D
duangavin123 已提交
166
int32_t(* AudioAttribute::GetFrameSize) (AudioHandle handle, uint64_t *size)
D
hdi api  
duangavin123 已提交
167 168 169 170
```

**描述:**

171
获取音频帧(frame)的大小,即一帧音频数据的长度(字节数)。
D
hdi api  
duangavin123 已提交
172

D
duangavin123 已提交
173
**参数:**
D
hdi api  
duangavin123 已提交
174

D
duangavin123 已提交
175 176
  | 名称 | 描述 | 
| -------- | -------- |
177 178
| handle | 输入参数,待操作的音频句柄。 | 
| size | 输出参数,获取的音频帧大小(字节数)保存到size中。 | 
D
hdi api  
duangavin123 已提交
179

D
duangavin123 已提交
180
**返回:**
D
hdi api  
duangavin123 已提交
181

182
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
183 184


D
duangavin123 已提交
185
### GetMmapPosition
186

D
duangavin123 已提交
187
  
D
hdi api  
duangavin123 已提交
188
```
D
duangavin123 已提交
189
int32_t(* AudioAttribute::GetMmapPosition) (AudioHandle handle, uint64_t *frames, struct AudioTimeStamp *time)
D
hdi api  
duangavin123 已提交
190 191 192 193
```

**描述:**

194
获取当前Mmap的读/写位置。
D
hdi api  
duangavin123 已提交
195

D
duangavin123 已提交
196
**参数:**
D
hdi api  
duangavin123 已提交
197

D
duangavin123 已提交
198
  | 名称 | 描述 | 
D
hdi api  
duangavin123 已提交
199
| -------- | -------- |
200 201 202
| handle | 输入参数,待操作的音频句柄。 | 
| frames | 输出参数,获取的音频帧计数保存到frames中。 | 
| time | 输出参数,获取的关联时间戳保存到time中。 | 
D
hdi api  
duangavin123 已提交
203

D
duangavin123 已提交
204
**返回:**
D
hdi api  
duangavin123 已提交
205

206
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
207 208


D
duangavin123 已提交
209
### GetSampleAttributes
210

D
duangavin123 已提交
211
  
D
hdi api  
duangavin123 已提交
212
```
D
duangavin123 已提交
213
int32_t(* AudioAttribute::GetSampleAttributes) (AudioHandle handle, struct AudioSampleAttributes *attrs)
D
hdi api  
duangavin123 已提交
214 215 216 217
```

**描述:**

218
获取音频采样的属性参数。
D
hdi api  
duangavin123 已提交
219

D
duangavin123 已提交
220
**参数:**
D
hdi api  
duangavin123 已提交
221

D
duangavin123 已提交
222
  | 名称 | 描述 | 
D
hdi api  
duangavin123 已提交
223
| -------- | -------- |
224 225
| handle | 输入参数,待操作的音频句柄。 | 
| attrs | 输出参数,获取的音频采样属性(例如采样频率、采样精度、通道)保存到attrs中。 | 
D
hdi api  
duangavin123 已提交
226

D
duangavin123 已提交
227
**返回:**
D
hdi api  
duangavin123 已提交
228

229
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
230

D
duangavin123 已提交
231
**参见:**
D
hdi api  
duangavin123 已提交
232

D
duangavin123 已提交
233
[GetSampleAttributes](#getsampleattributes)
D
hdi api  
duangavin123 已提交
234

235

D
duangavin123 已提交
236 237 238
### RemoveAudioEffect

  
D
hdi api  
duangavin123 已提交
239
```
D
duangavin123 已提交
240
int32_t (*AudioAttribute::RemoveAudioEffect)(AudioHandle handle, uint64_t effectid)
D
hdi api  
duangavin123 已提交
241 242 243 244
```

**描述:**

245
移除音频效果算法实例。
D
hdi api  
duangavin123 已提交
246

D
duangavin123 已提交
247
**参数:**
D
hdi api  
duangavin123 已提交
248

D
duangavin123 已提交
249
  | 名称 | 描述 | 
D
hdi api  
duangavin123 已提交
250
| -------- | -------- |
D
duangavin123 已提交
251 252
| handle | 输入参数,待操作的音频句柄。 | 
| effectid | 输入参数,待移除的音频效果算法实例ID。 | 
D
hdi api  
duangavin123 已提交
253

D
duangavin123 已提交
254
**返回:**
D
hdi api  
duangavin123 已提交
255

256
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
257

258

D
duangavin123 已提交
259
### ReqMmapBuffer
260

D
duangavin123 已提交
261
  
262
```
D
duangavin123 已提交
263
int32_t(* AudioAttribute::ReqMmapBuffer) (AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescripter *desc)
264 265 266 267
```

**描述:**

268
请求Mmap缓冲区。
269

D
duangavin123 已提交
270
**参数:**
271

D
duangavin123 已提交
272
  | 名称 | 描述 | 
273
| -------- | -------- |
274 275 276
| handle | 输入参数,待操作的音频句柄。 | 
| reqSize | 输入参数,请求缓冲区的大小。 | 
| desc | 输出参数,缓冲区描述符。 | 
277

D
duangavin123 已提交
278
**返回:**
279

280
成功返回值0,失败返回负值。
281 282


D
duangavin123 已提交
283
### SetExtraParams
284

D
duangavin123 已提交
285
  
286
```
D
duangavin123 已提交
287
int32_t(* AudioAttribute::SetExtraParams) (AudioHandle handle, const char *keyValueList)
288 289 290 291
```

**描述:**

292
设置音频拓展参数。
293

D
duangavin123 已提交
294
**参数:**
295

D
duangavin123 已提交
296
  | 名称 | 描述 | 
297
| -------- | -------- |
298 299
| handle | 输入参数,待操作的音频句柄。 | 
| keyValueList | 输入参数,拓展参数键值对字符串列表,格式为key=value,多个键值对通过分号分割。 | 
300

D
duangavin123 已提交
301
**返回:**
302

303
成功返回值0,失败返回负值。
304 305


D
duangavin123 已提交
306
### SetSampleAttributes
307

D
duangavin123 已提交
308
  
309
```
D
duangavin123 已提交
310
int32_t(* AudioAttribute::SetSampleAttributes) (AudioHandle handle, const struct AudioSampleAttributes *attrs)
311 312 313 314
```

**描述:**

315
设置音频采样的属性参数。
316

D
duangavin123 已提交
317
**参数:**
318

D
duangavin123 已提交
319
  | 名称 | 描述 | 
320
| -------- | -------- |
321 322
| handle | 输入参数,待操作的音频句柄。 | 
| attrs | 输入参数,待设置的音频采样属性,例如采样频率、采样精度、通道。 | 
323

D
duangavin123 已提交
324
**返回:**
325

326
成功返回值0,失败返回负值。
D
duangavin123 已提交
327 328 329 330

**参见:**

[GetSampleAttributes](#getsampleattributes)