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**起始版本:** 4.1 44 45**参数:** 46 47| 名称 | 描述 | 48| -------- | -------- | 49| adpName | 分布式音频设备NetworkID。 | 50| devId | 分布式音频设备的端口ID。 | 51 52**返回:** 53 54成功返回值0,失败返回负值。 55 56 57### NotifyEvent() 58 59``` 60IDAudioCallback::NotifyEvent ([in] String adpName, [in] int devId, [in] struct DAudioEvent event ) 61``` 62**描述** 63向分布式音频SA通知事件。 64 65**起始版本:** 4.1 66 67**参数:** 68 69| 名称 | 描述 | 70| -------- | -------- | 71| adpName | 分布式音频设备NetworkID。 | 72| devId | 分布式音频设备的端口ID。 | 73| event | 通知事件类型(如焦点事件,音量事件) | 74 75**返回:** 76 77成功返回值0,失败返回负值。 78 79 80### OpenDevice() 81 82``` 83IDAudioCallback::OpenDevice ([in] String adpName, [in] int devId ) 84``` 85**描述** 86打开分布式音频设备。 87 88**起始版本:** 4.1 89 90**参数:** 91 92| 名称 | 描述 | 93| -------- | -------- | 94| adpName | 分布式音频设备NetworkID。 | 95| devId | 分布式音频设备的端口ID。 | 96 97**返回:** 98 99成功返回值0,失败返回负值。 100 101 102### ReadMmapPosition() 103 104``` 105IDAudioCallback::ReadMmapPosition ([in] String adpName, [in] int devId, [out] unsigned long frames, [out] struct CurrentTime time ) 106``` 107**描述** 108获取当前读写的帧数及时间戳 109 110**起始版本:** 4.1 111 112**参数:** 113 114| 名称 | 描述 | 115| -------- | -------- | 116| adpName | 分布式音频设备NetworkID。 | 117| devId | 分布式音频设备的端口ID。 | 118| frames | 获取的当前帧数及时间戳。 | 119| time | 当前时间戳。 | 120 121**返回:** 122 123成功返回值0,失败返回负值。 124 125 126### ReadStreamData() 127 128``` 129IDAudioCallback::ReadStreamData ([in] String adpName, [in] int devId, [out] struct AudioData data ) 130``` 131**描述** 132向分布式音频设备读取录制流。 133 134**起始版本:** 4.1 135 136**参数:** 137 138| 名称 | 描述 | 139| -------- | -------- | 140| adpName | 分布式音频设备NetworkID。 | 141| devId | 分布式音频设备的端口ID。 | 142| data | 音频流数据。 | 143 144**返回:** 145 146成功返回值0,失败返回负值。 147 148 149### RefreshAshmemInfo() 150 151``` 152IDAudioCallback::RefreshAshmemInfo ([in] String adpName, [in] int devId, [in] FileDescriptor fd, [in] int ashmemLength, [in] int lengthPerTrans ) 153``` 154**描述** 155刷新共享内存信息 156 157**起始版本:** 4.1 158 159**参数:** 160 161| 名称 | 描述 | 162| -------- | -------- | 163| adpName | 分布式音频设备NetworkID。 | 164| devId | 分布式音频设备的端口ID。 | 165| fd | 共享内存对应文件描述符。 | 166| ashmemLength | 共享内存总字节数。 | 167| lengthPerTrans | 每次传输的字节数。 | 168 169**返回:** 170 171成功返回值0,失败返回负值。 172 173 174### SetParameters() 175 176``` 177IDAudioCallback::SetParameters ([in] String adpName, [in] int devId, [in] struct AudioParameter param ) 178``` 179**描述** 180设置分布式音频设备参数。 181 182**起始版本:** 4.1 183 184**参数:** 185 186| 名称 | 描述 | 187| -------- | -------- | 188| adpName | 分布式音频设备NetworkID。 | 189| devId | 分布式音频设备的端口ID。 | 190| param | 音频参数(包括采样率、通道数等) | 191 192**返回:** 193 194成功返回值0,失败返回负值。 195 196 197### WriteStreamData() 198 199``` 200IDAudioCallback::WriteStreamData ([in] String adpName, [in] int devId, [in] struct AudioData data ) 201``` 202**描述** 203向分布式音频设备写入播放流。 204 205**起始版本:** 4.1 206 207**参数:** 208 209| 名称 | 描述 | 210| -------- | -------- | 211| adpName | 分布式音频设备NetworkID。 | 212| devId | 分布式音频设备的端口ID。 | 213| data | 音频流数据。 | 214 215**返回:** 216 217成功返回值0,失败返回负值。 218