1# ICameraHost 2 3 4## 概述 5 6定义Camera设备功能操作。 7 8设置回调接口、返回设备ID列表、打开并执行Camera设备的相关操作。 9 10**起始版本:** 3.2 11 12**相关模块:**[Camera](_camera_v10.md) 13 14 15## 汇总 16 17 18### Public 成员函数 19 20| 名称 | 描述 | 21| -------- | -------- | 22| [SetCallback](#setcallback) ([in] [ICameraHostCallback](interface_i_camera_host_callback_v10.md) callbackObj) | 设置ICameraHost回调接口,回调函数参考[ICameraHostCallback](interface_i_camera_host_callback_v10.md)。 | 23| [GetCameraIds](#getcameraids) ([out] String[] cameraIds) | 获取当前可用的Camera设备ID列表。 | 24| [GetCameraAbility](#getcameraability) ([in] String cameraId, [out] unsigned char[] cameraAbility) | 获取Camera设备能力集合。 | 25| [OpenCamera](#opencamera) ([in] String cameraId, [in] [ICameraDeviceCallback](interface_i_camera_device_callback_v10.md) callbackObj, [out] [ICameraDevice](interface_i_camera_device_v10.md) device) | 打开Camera设备。 | 26| [SetFlashlight](#setflashlight) ([in] String cameraId, [in] boolean isEnable) | 打开或关闭闪光灯。 | 27 28 29## 成员函数说明 30 31 32### GetCameraAbility() 33 34``` 35ICameraHost::GetCameraAbility ([in] String cameraId, [out] unsigned char[] cameraAbility ) 36``` 37**描述** 38 39获取Camera设备能力集合。 40 41**起始版本:** 3.2 42 43**参数:** 44 45| 名称 | 描述 | 46| -------- | -------- | 47| cameraId | 用于指定要操作的Camera设备,通过[GetCameraIds](#getcameraids)获取。 | 48| cameraAbility | 返回cameraId对应Camera设备的能力集合。 | 49 50**返回:** 51 52NO_ERROR 表示执行成功。 53 54其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。 55 56**参见:** 57 58[GetCameraIds](#getcameraids) 59 60 61### GetCameraIds() 62 63``` 64ICameraHost::GetCameraIds ([out] String[] cameraIds) 65``` 66**描述** 67 68获取当前可用的Camera设备ID列表。 69 70**起始版本:** 3.2 71 72**参数:** 73 74| 名称 | 描述 | 75| -------- | -------- | 76| cameraIds | 返回当前可用的设备列表。 | 77 78**返回:** 79 80NO_ERROR 表示执行成功; 81 82其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。 83 84**参见:** 85 86[GetCameraAbility](#getcameraability) 87 88 89### OpenCamera() 90 91``` 92ICameraHost::OpenCamera ([in] String cameraId, [in] ICameraDeviceCallback callbackObj, [out] ICameraDevice device ) 93``` 94**描述** 95 96打开Camera设备。 97 98打开指定的Camera设备,通过此接口可以获取到ICameraDevice对象,通过ICameraDevice对象可以操作具体的Camera设备。 99 100**起始版本:** 3.2 101 102**参数:** 103 104| 名称 | 描述 | 105| -------- | -------- | 106| cameraId | 需要打开的Camera设备ID,可通过[GetCameraIds](#getcameraids)接口获取当前已有Camera设备列表。 | 107| callbackObj | Camera设备相关的回调函数,具体参见[ICameraDeviceCallback](interface_i_camera_device_callback_v10.md)。 | 108| device | 返回当前要打开的Camera设备ID对应的ICameraDevice对象。 | 109 110**返回:** 111 112NO_ERROR 表示执行成功。 113 114其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。 115 116**参见:** 117 118[GetCameraIds](#getcameraids) 119 120 121### SetCallback() 122 123``` 124ICameraHost::SetCallback ([in] ICameraHostCallback callbackObj) 125``` 126**描述** 127 128设置ICameraHost回调接口,回调函数参考[ICameraHostCallback](interface_i_camera_host_callback_v10.md)。 129 130**起始版本:** 3.2 131 132**参数:** 133 134| 名称 | 描述 | 135| -------- | -------- | 136| callbackObj | 要设置的回调函数。 | 137 138**返回:** 139 140NO_ERROR 表示执行成功。 141 142其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。 143 144 145### SetFlashlight() 146 147``` 148ICameraHost::SetFlashlight ([in] String cameraId, [in] boolean isEnable ) 149``` 150**描述** 151 152打开或关闭闪光灯。 153 154该接口只能由打开cameraId指定Camera设备的调用者调用。 155 156**起始版本:** 3.2 157 158**参数:** 159 160| 名称 | 描述 | 161| -------- | -------- | 162| cameraId | 闪光灯对应的Camera设备ID。 | 163| isEnable | 表示是否打开闪光灯,true表示打开,false表示关闭。 | 164 165**返回:** 166 167NO_ERROR 表示执行成功。 168 169其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v10.md#camretcode)。 170 171**参见:** 172 173[GetCameraIds](#getcameraids) 174