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