_audio_attribute.md 8.4 KB
Newer Older
D
hdi api  
duangavin123 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# AudioAttribute


## **概述**

**所属模块:**

[Audio](_audio.md)


## **汇总**


### Public 属性

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


## **详细描述**

AudioAttribute音频属性接口

提供音频播放(render)或录音(capture)需要的公共属性驱动能力,包括获取帧(frame)信息、设置采样属性等。

**Since:**

1.0

**Version:**

1.0


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


### GetCurrentChannelId

52

D
hdi api  
duangavin123 已提交
53 54 55 56 57 58 59 60 61 62
```
int32_t(* AudioAttribute::GetCurrentChannelId) (AudioHandle handle, uint32_t *channelId)
```

**描述:**

获取音频的数据通道ID

**参数:**

63
| 名称 | 描述 |
D
hdi api  
duangavin123 已提交
64
| -------- | -------- |
65 66
| handle | 待操作的音频句柄 |
| channelId | 获取的通道ID保存到channelId中 |
D
hdi api  
duangavin123 已提交
67 68 69

**返回:**

70
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
71 72 73 74


### GetExtraParams

75

D
hdi api  
duangavin123 已提交
76 77 78 79 80 81 82 83 84 85
```
int32_t(* AudioAttribute::GetExtraParams) (AudioHandle handle, char *keyValueList)
```

**描述:**

获取音频拓展参数。

**参数:**

86
| 名称 | 描述 |
D
hdi api  
duangavin123 已提交
87
| -------- | -------- |
88 89
| handle | 待操作的音频句柄 |
| keyValueList | 拓展参数键值对字符串列表,格式为key=value,多个键值对通过分号分割 |
D
hdi api  
duangavin123 已提交
90 91 92 93 94 95 96 97

**返回:**

成功返回值0,失败返回负值。


### GetFrameCount

98

D
hdi api  
duangavin123 已提交
99 100 101 102 103 104 105 106 107 108
```
int32_t(* AudioAttribute::GetFrameCount) (AudioHandle handle, uint64_t *count)
```

**描述:**

获取音频buffer中的音频帧数。

**参数:**

109
| 名称 | 描述 |
D
hdi api  
duangavin123 已提交
110
| -------- | -------- |
111 112
| handle | 待操作的音频句柄 |
| count | 一个音频buffer中包含的音频帧数,获取后保存到count中 |
D
hdi api  
duangavin123 已提交
113 114 115

**返回:**

116
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
117 118 119 120


### GetFrameSize

121

D
hdi api  
duangavin123 已提交
122 123 124 125 126 127 128 129 130 131 132 133
```
int32_t(* AudioAttribute::GetFrameSize) (AudioHandle handle, uint64_t *size)
```

**描述:**

获取音频帧(frame)的大小

获取一帧音频数据的长度(字节数)

**参数:**

134
| 名称 | 描述 |
D
hdi api  
duangavin123 已提交
135
| -------- | -------- |
136 137
| handle | 待操作的音频句柄 |
| size | 获取的音频帧大小(字节数)保存到size中 |
D
hdi api  
duangavin123 已提交
138 139 140

**返回:**

141
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
142 143 144 145


### GetMmapPosition

146

D
hdi api  
duangavin123 已提交
147 148 149 150 151 152 153 154 155 156
```
int32_t(* AudioAttribute::GetMmapPosition) (AudioHandle handle, uint64_t *frames, struct AudioTimeStamp *time)
```

**描述:**

获取当前mmap的读/写位置

**参数:**

157
| 名称 | 描述 |
D
hdi api  
duangavin123 已提交
158
| -------- | -------- |
159 160 161
| handle | 待操作的音频句柄 |
| frames | 获取的音频帧计数保存到frames中 |
| time | 获取的关联时间戳保存到time中 |
D
hdi api  
duangavin123 已提交
162 163 164

**返回:**

165
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
166 167 168 169


### GetSampleAttributes

170

D
hdi api  
duangavin123 已提交
171 172 173 174 175 176 177 178 179 180
```
int32_t(* AudioAttribute::GetSampleAttributes) (AudioHandle handle, struct AudioSampleAttributes *attrs)
```

**描述:**

获取音频采样的属性参数。

**参数:**

181
| 名称 | 描述 |
D
hdi api  
duangavin123 已提交
182
| -------- | -------- |
183 184
| handle | 待操作的音频句柄 |
| attrs | 获取的音频采样属性(例如采样频率、采样精度、通道)保存到attrs中 |
D
hdi api  
duangavin123 已提交
185 186 187

**返回:**

188
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
189 190 191 192 193 194 195 196

**参见:**

[SetSampleAttributes](#setsampleattributes)


### ReqMmapBuffer

197

D
hdi api  
duangavin123 已提交
198 199 200 201 202 203 204 205 206 207
```
int32_t(* AudioAttribute::ReqMmapBuffer) (AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescripter *desc)
```

**描述:**

请求mmap缓冲区

**参数:**

208
| 名称 | 描述 |
D
hdi api  
duangavin123 已提交
209
| -------- | -------- |
210 211 212
| handle | 待操作的音频句柄 |
| reqSize | 请求缓冲区的大小 |
| desc | 缓冲区描述符 |
D
hdi api  
duangavin123 已提交
213 214 215

**返回:**

216
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
217 218 219 220


### SetExtraParams

221

D
hdi api  
duangavin123 已提交
222 223 224 225 226 227 228 229 230 231
```
int32_t(* AudioAttribute::SetExtraParams) (AudioHandle handle, const char *keyValueList)
```

**描述:**

设置音频拓展参数。

**参数:**

232
| 名称 | 描述 |
D
hdi api  
duangavin123 已提交
233
| -------- | -------- |
234 235
| handle | 待操作的音频句柄 |
| keyValueList | 拓展参数键值对字符串列表,格式为key=value,多个键值对通过分号分割 |
D
hdi api  
duangavin123 已提交
236 237 238

**返回:**

239
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
240 241 242 243


### SetSampleAttributes

244

D
hdi api  
duangavin123 已提交
245 246 247 248 249 250 251 252 253 254
```
int32_t(* AudioAttribute::SetSampleAttributes) (AudioHandle handle, const struct AudioSampleAttributes *attrs)
```

**描述:**

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

**参数:**

255
| 名称 | 描述 |
D
hdi api  
duangavin123 已提交
256
| -------- | -------- |
257 258
| handle | 待操作的音频句柄 |
| attrs | 待设置的音频采样属性,例如采样频率、采样精度、通道 |
D
hdi api  
duangavin123 已提交
259 260 261

**返回:**

262
成功返回值0,失败返回负值。
D
hdi api  
duangavin123 已提交
263 264 265 266

**参见:**

[GetSampleAttributes](#getsampleattributes)
267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335


### AddAudioEffect


```
int32_t (* AudioAttribute::AddAudioEffect)(AudioHandle handle, uint64_t effectid)
```

**描述:**

添加音频效果算法实例。

**参数:**

| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| effectid | 待添加的音频效果算法实例ID |

**返回:**

成功返回值0,失败返回负值。


### RemoveAudioEffect


```
int32_t (* AudioAttribute::RemoveAudioEffect)(AudioHandle handle, uint64_t effectid)
```

**描述:**

移除音频效果算法实例。

**参数:**

| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| effectid | 待移除的音频效果算法实例ID |

**返回:**

成功返回值0,失败返回负值。


### GetFrameBufferSize


```
int32_t (* AudioAttribute::GetFrameBufferSize)(AudioHandle handle, uint64_t *bufferSize)
```

**描述:**

获取播放或录音的缓冲区大小。

**参数:**

| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| bufferSize | 获取的缓冲区大小保存到bufferSize中 |

**返回:**

成功返回值0,失败返回负值。