1# IDAudioCallback
2
3
4## 概述
5
6定义Distributed Audio设备基本的操作。
7
8启用和关闭分布式音频设备、设置音频参数、事件通知等相关操作。
9
10**起始版本:** 4.1
11
12**相关模块:**[Audio](_distributed.md)
13
14
15## 汇总
16
17
18### Public 成员函数
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [OpenDevice](#opendevice) ([in] String adpName, [in] int devId) | 打开分布式音频设备。  |
23| [CloseDevice](#closedevice) ([in] String adpName, [in] int devId) | 关闭分布式音频设备。  |
24| [SetParameters](#setparameters) ([in] String adpName, [in] int devId, [in] struct [AudioParameter](_audio_parameter.md) param) | 设置分布式音频设备参数。  |
25| [NotifyEvent](#notifyevent) ([in] String adpName, [in] int devId, [in] struct [DAudioEvent](_d_audio_event.md) event) | 向分布式音频SA通知事件。  |
26| [WriteStreamData](#writestreamdata) ([in] String adpName, [in] int devId, [in] struct [AudioData](_audio_data.md) data) | 向分布式音频设备写入播放流。  |
27| [ReadStreamData](#readstreamdata) ([in] String adpName, [in] int devId, [out] struct [AudioData](_audio_data.md) data) | 向分布式音频设备读取录制流。  |
28| [ReadMmapPosition](#readmmapposition) ([in] String adpName, [in] int devId, [out] unsigned long frames, [out] struct [CurrentTime](_current_time.md) time) | 获取当前读写的帧数及时间戳  |
29| [RefreshAshmemInfo](#refreshashmeminfo) ([in] String adpName, [in] int devId, [in] FileDescriptor fd, [in] int ashmemLength, [in] int lengthPerTrans) | 刷新共享内存信息  |
30
31
32## 成员函数说明
33
34
35### CloseDevice()
36
37```
38IDAudioCallback::CloseDevice ([in] String adpName, [in] int devId )
39```
40**描述**
41
42关闭分布式音频设备。
43
44**起始版本:** 4.1
45
46**参数:**
47
48| 名称 | 描述 |
49| -------- | -------- |
50| adpName | 分布式音频设备NetworkID。  |
51| devId | 分布式音频设备的端口ID。 |
52
53**返回:**
54
55成功返回值0,失败返回负值。
56
57
58### NotifyEvent()
59
60```
61IDAudioCallback::NotifyEvent ([in] String adpName, [in] int devId, [in] struct DAudioEvent event )
62```
63**描述**
64
65向分布式音频SA通知事件。
66
67**起始版本:** 4.1
68
69**参数:**
70
71| 名称 | 描述 |
72| -------- | -------- |
73| adpName | 分布式音频设备NetworkID。  |
74| devId | 分布式音频设备的端口ID。  |
75| event | 通知事件类型(如焦点事件,音量事件) |
76
77**返回:**
78
79成功返回值0,失败返回负值。
80
81
82### OpenDevice()
83
84```
85IDAudioCallback::OpenDevice ([in] String adpName, [in] int devId )
86```
87**描述**
88
89打开分布式音频设备。
90
91**起始版本:** 4.1
92
93**参数:**
94
95| 名称 | 描述 |
96| -------- | -------- |
97| adpName | 分布式音频设备NetworkID。  |
98| devId | 分布式音频设备的端口ID。 |
99
100**返回:**
101
102成功返回值0,失败返回负值。
103
104
105### ReadMmapPosition()
106
107```
108IDAudioCallback::ReadMmapPosition ([in] String adpName, [in] int devId, [out] unsigned long frames, [out] struct CurrentTime time )
109```
110**描述**
111
112获取当前读写的帧数及时间戳
113
114**起始版本:** 4.1
115
116**参数:**
117
118| 名称 | 描述 |
119| -------- | -------- |
120| adpName | 分布式音频设备NetworkID。  |
121| devId | 分布式音频设备的端口ID。  |
122| frames | 获取的当前帧数及时间戳。  |
123| time | 当前时间戳。 |
124
125**返回:**
126
127成功返回值0,失败返回负值。
128
129
130### ReadStreamData()
131
132```
133IDAudioCallback::ReadStreamData ([in] String adpName, [in] int devId, [out] struct AudioData data )
134```
135**描述**
136
137向分布式音频设备读取录制流。
138
139**起始版本:** 4.1
140
141**参数:**
142
143| 名称 | 描述 |
144| -------- | -------- |
145| adpName | 分布式音频设备NetworkID。  |
146| devId | 分布式音频设备的端口ID。  |
147| data | 音频流数据。 |
148
149**返回:**
150
151成功返回值0,失败返回负值。
152
153
154### RefreshAshmemInfo()
155
156```
157IDAudioCallback::RefreshAshmemInfo ([in] String adpName, [in] int devId, [in] FileDescriptor fd, [in] int ashmemLength, [in] int lengthPerTrans )
158```
159**描述**
160
161刷新共享内存信息
162
163**起始版本:** 4.1
164
165**参数:**
166
167| 名称 | 描述 |
168| -------- | -------- |
169| adpName | 分布式音频设备NetworkID。  |
170| devId | 分布式音频设备的端口ID。  |
171| fd | 共享内存对应文件描述符。  |
172| ashmemLength | 共享内存总字节数。  |
173| lengthPerTrans | 每次传输的字节数。 |
174
175**返回:**
176
177成功返回值0,失败返回负值。
178
179
180### SetParameters()
181
182```
183IDAudioCallback::SetParameters ([in] String adpName, [in] int devId, [in] struct AudioParameter param )
184```
185**描述**
186
187设置分布式音频设备参数。
188
189**起始版本:** 4.1
190
191**参数:**
192
193| 名称 | 描述 |
194| -------- | -------- |
195| adpName | 分布式音频设备NetworkID。  |
196| devId | 分布式音频设备的端口ID。  |
197| param | 音频参数(包括采样率、通道数等) |
198
199**返回:**
200
201成功返回值0,失败返回负值。
202
203
204### WriteStreamData()
205
206```
207IDAudioCallback::WriteStreamData ([in] String adpName, [in] int devId, [in] struct AudioData data )
208```
209**描述**
210
211向分布式音频设备写入播放流。
212
213**起始版本:** 4.1
214
215**参数:**
216
217| 名称 | 描述 |
218| -------- | -------- |
219| adpName | 分布式音频设备NetworkID。  |
220| devId | 分布式音频设备的端口ID。  |
221| data | 音频流数据。 |
222
223**返回:**
224
225成功返回值0,失败返回负值。
226