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