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