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