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