1# ICameraDevice 2 3 4## **概述** 5 6定义Camera设备基本的操作。 7 8设置流回调接口、更新控制参数、执行metadata相关操作。 9 10**相关模块:** 11 12[Camera](camera.md) 13 14 15## **汇总** 16 17 18### Public 成员函数 19 20 | 名称 | 描述 | 21| -------- | -------- | 22| [GetStreamOperator](#getstreamoperator) ([in] [IStreamOperatorCallback](interface_i_stream_operator_callback.md) callbackObj, [out] [IStreamOperator](interface_i_stream_operator.md) streamOperator) | 获取流操作句柄。 | 23| [UpdateSettings](#updatesettings) ([in] unsigned char[] settings) | 更新设备控制参数。 | 24| [SetResultMode](#setresultmode) ([in] enum [ResultCallbackMode](camera.md#resultcallbackmode) mode) | 设置metadata上报模式,逐帧上报还是设备状态变化时上报。 | 25| [GetEnabledResults](#getenabledresults) ([out] int[] results) | 查询使能的metadata。 | 26| [EnableResult](#enableresult) ([in] int[] results) | 打开metadata上报开关。 | 27| [DisableResult](#disableresult) ([in] int[] results) | 关闭metadata上报开关。 | 28| [Close](#close) () | 关闭当前Camera设备。 | 29 30 31## **成员函数说明** 32 33 34### Close() 35 36 37``` 38ICameraDevice::Close () 39``` 40 41**描述:** 42 43关闭当前Camera设备。 44 45**参见:** 46 47OpenCamera 48 49 50### DisableResult() 51 52 53``` 54ICameraDevice::DisableResult ([in] int[] results) 55``` 56 57**描述:** 58 59关闭metadata上报开关。 60 61屏蔽之后,相应的**OnResult**不再上报,需[EnableResult](#enableresult)使能之后才上报。 62 63**参数:** 64 65 | 名称 | 描述 | 66| -------- | -------- | 67| results | 需要关闭上报开关的metadata。 | 68 69**返回:** 70 71NO_ERROR 表示执行成功。 72 73其他值表示执行失败,具体错误码查看[CamRetCode](camera.md#camretcode)。 74 75**参见:** 76 77[EnableResult](#enableresult) 78 79 80### EnableResult() 81 82 83``` 84ICameraDevice::EnableResult ([in] int[] results) 85``` 86 87**描述:** 88 89打开metadata上报开关。 90 91**OnResult**只上报此接口使能后的metadata。 92 93**参数:** 94 95 | 名称 | 描述 | 96| -------- | -------- | 97| results | 需要打开上报开关的多个metadata。 | 98 99**返回:** 100 101NO_ERROR 表示执行成功。 102 103其他值表示执行失败,具体错误码查看[CamRetCode](camera.md#camretcode)。 104 105**参见:** 106 107[DisableResult](#disableresult) 108 109 110### GetEnabledResults() 111 112 113``` 114ICameraDevice::GetEnabledResults ([out] int[] results) 115``` 116 117**描述:** 118 119查询使能的metadata。 120 121[EnableResult](#enableresult)使能需要上报的metadata之后,可通过此接口查询使能的metadata。 122 123**参数:** 124 125 | 名称 | 描述 | 126| -------- | -------- | 127| results | 所有使能的metadata的ID数组。 | 128 129**返回:** 130 131NO_ERROR 表示执行成功。 132 133其他值表示执行失败,具体错误码查看[CamRetCode](camera.md#camretcode)。 134 135 136### GetStreamOperator() 137 138 139``` 140ICameraDevice::GetStreamOperator ([in] IStreamOperatorCallback callbackObj, [out] IStreamOperator streamOperator ) 141``` 142 143**描述:** 144 145获取流操作句柄。 146 147**参数:** 148 149 | 名称 | 描述 | 150| -------- | -------- | 151| callbackObj | 设置流回调接口,详细可查看[IStreamOperatorCallback](interface_i_stream_operator_callback.md), 用于上报捕获开始[OnCaptureStarted](interface_i_stream_operator_callback.md#oncapturestarted),捕获结束[OnCaptureEnded](interface_i_stream_operator_callback.md#oncaptureended), 捕获错误等信息[OnCaptureError](interface_i_stream_operator_callback.md#oncaptureerror)。 | 152| streamOperator | 返回流操作句柄。 | 153 154**返回:** 155 156NO_ERROR 表示执行成功。 157 158其他值表示执行失败,具体错误码查看[CamRetCode](camera.md#camretcode)。 159 160 161### SetResultMode() 162 163 164``` 165ICameraDevice::SetResultMode ([in] enum ResultCallbackMode mode) 166``` 167 168**描述:** 169 170设置metadata上报模式,逐帧上报还是设备状态变化时上报。 171 172**参数:** 173 174 | 名称 | 描述 | 175| -------- | -------- | 176| mode | metadata的上报模式,逐帧上报或者设备状态变化时上报,查看[ResultCallbackMode](camera.md#resultcallbackmode)。 | 177 178**返回:** 179 180NO_ERROR 表示执行成功。 181 182其他值表示执行失败,具体错误码查看[CamRetCode](camera.md#camretcode)。 183 184 185### UpdateSettings() 186 187 188``` 189ICameraDevice::UpdateSettings ([in] unsigned char[] settings) 190``` 191 192**描述:** 193 194更新设备控制参数。 195 196**参数:** 197 198 | 名称 | 描述 | 199| -------- | -------- | 200| settings | Camera设置参数,包括sensor帧率,3A相关参数等。 | 201 202**返回:** 203 204NO_ERROR 表示执行成功。 205 206其他值表示执行失败,具体错误码查看[CamRetCode](camera.md#camretcode)。 207