1# ICameraHost 2 3## 概述 4 5定义Camera设备功能操作。 6 7打开并执行Camera设备、通知设备状态更改信息、设置回调接口等相关操作。 8 9**起始版本:** 4.1 10 11**相关模块:**[Camera](_camera_v12.md) 12 13## 汇总 14 15### Public 成员函数 16 17| 名称 | 描述 | 18| -------- | -------- | 19| [OpenCameraV1_2](#opencamerav1_2) ([in] String cameraId, [in] ICameraDeviceCallback callbackObj, [out] [ICameraDevice](interface_i_camera_device_v12.md) device) | 打开Camera设备。 | 20| [NotifyDeviceStateChangeInfo](#notifydevicestatechangeinfo) ([in] int notifyType, [in] int deviceState) | 将设备状态更改通知设备供应商。 | 21| [SetCallbackV1_2](#setcallbackv1_2) ([in] [ICameraHostCallback](interface_i_camera_host_callback_v12.md) callbackObj) | 设置ICameraHost回调接口,回调函数参考[ICameraHostCallback](interface_i_camera_host_callback_v12.md)。 | 22| [SetFlashlightV1_2](#setflashlightv1_2) ([in] float level) | 打开或关闭闪光灯。 | 23| [PreCameraSwitch](#precameraswitch) ([in] String cameraId) | 切换镜头时预热相机设备。 | 24| [PrelaunchWithOpMode](#prelaunchwithopmode) ([in] struct PrelaunchConfig config, [in] int operationMode) | 预启动Camera设备。 | 25 26## 成员函数说明 27 28### NotifyDeviceStateChangeInfo() 29 30``` 31ICameraHost::NotifyDeviceStateChangeInfo ([in] int notifyType, [in] int deviceState) 32``` 33 34**描述** 35 36将设备状态更改通知设备供应商。 37 38通过调用此函数,可以通知设备供应商设备状态更改。 39 40**起始版本:** 4.1 41 42**参数:** 43 44| 名称 | 描述 | 45| -------- | -------- | 46| notifyType | 通知的类型。<br/>1 跌落状态。<br/>2 折叠状态。 | 47| deviceState | 设备的状态。<br/>0 为止。<br/>1 展开态。<br/>2 折叠态。<br/>3 半折叠态。<br/>1008 滑落态。<br/>2-3 参数组合半折叠不做处理。 | 48 49**返回:** 50 51NO_ERROR 表示执行成功。 52 53其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。 54 55### OpenCameraV1_2() 56 57``` 58ICameraHost::OpenCameraV1_2 ([in] String cameraId, [in] ICameraDeviceCallback callbackObj, [out] ICameraDevice device) 59``` 60 61**描述** 62 63打开Camera设备。 64 65打开指定的Camera设备,通过此接口可以获取到ICameraDevice对象,通过ICameraDevice对象可以操作具体的Camera设备。 66 67**起始版本:** 4.1 68 69**参数:** 70 71| 名称 | 描述 | 72| -------- | -------- | 73| cameraId | 需要打开的Camera设备ID,可通过[GetCameraIds](interface_i_camera_host_v10.md#getcameraids)接口获取当前已有Camera设备列表。 | 74| callbackObj | Camera设备相关的回调函数,具体参见[ICameraDeviceCallback](interface_i_camera_device_callback_v10.md)。 | 75| device | 返回当前要打开的Camera设备ID对应的ICameraDevice对象。 | 76 77**返回:** 78 79NO_ERROR 表示执行成功。 80 81其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。 82 83 84### PreCameraSwitch() 85 86``` 87ICameraHost::PreCameraSwitch ([in] String cameraId) 88``` 89 90**描述** 91 92切换镜头时预热相机设备。 93 94当用户触摸摄像头应用镜头开关图标时可以调用此功能以加速启动的相机设备,由cameraId指定。 95 96**起始版本:** 4.1 97 98**参数:** 99 100| 名称 | 描述 | 101| -------- | -------- | 102| cameraId | 指示相机设备的ID,可以通过调用 [GetCameraIds](interface_i_camera_host_v10.md#getcameraids)获取。 | 103 104**返回:** 105 106NO_ERROR 表示执行成功。 107 108其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。 109 110### PrelaunchWithOpMode() 111 112``` 113ICameraHost::PrelaunchWithOpMode ([in] struct PrelaunchConfig config, [in] int operationMode) 114``` 115 116**描述** 117 118预启动Camera设备。 119 120当用户触摸摄像头应用图标时可以调用此函数以加速启动的相机设备,由cameraId指定。 121 122**起始版本:** 4.1 123 124**参数:** 125 126| 名称 | 描述 | 127| -------- | -------- | 128| config | 预启动配置。 详细可查看[PrelaunchConfig](_prelaunch_config_v11.md)。 | 129| operationMode | 流操作模式。 详细可查看[OperationMode_V1_2](_camera_v12.md#operationmode_v1_2)。 | 130 131**返回:** 132 133NO_ERROR 表示执行成功。 134 135其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。 136 137 138### SetCallbackV1_2() 139 140``` 141ICameraHost::SetCallbackV1_2 ([in] ICameraHostCallback callbackObj) 142``` 143 144**描述** 145 146设置ICameraHost回调接口,回调函数参考[ICameraHostCallback](interface_i_camera_host_callback_v12.md)。 147 148**起始版本:** 4.1 149 150**参数:** 151 152| 名称 | 描述 | 153| -------- | -------- | 154| callbackObj | 要设置的回调函数。 | 155 156**返回:** 157 158NO_ERROR 表示执行成功。 159 160其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。 161 162 163### SetFlashlightV1_2() 164 165``` 166ICameraHost::SetFlashlightV1_2 ([in] float level) 167``` 168 169**描述** 170 171打开或关闭闪光灯。 172 173**起始版本:** 4.1 174 175**参数:** 176 177| 名称 | 描述 | 178| -------- | -------- | 179| level | 指定是打开还是关闭闪光灯。值 1 表示打开闪光灯,0 表示相反。 | 180 181**返回:** 182 183NO_ERROR 表示执行成功。 184 185其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。 186