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