1# ICameraHost
2
3
4## 概述
5
6定义Camera设备功能操作。
7
8打开并执行Camera设备、通知设备状态更改信息、设置回调接口等相关操作。
9
10**起始版本:** 4.1
11
12**相关模块:**[Camera](_camera_v12.md)
13
14
15## 汇总
16
17
18### Public 成员函数
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [OpenCameraV1_2](#opencamerav1_2) ([in] String cameraId, [in] ICameraDeviceCallback callbackObj, [out] [ICameraDevice](interface_i_camera_device_v12.md) device) | 打开Camera设备。 |
23| [NotifyDeviceStateChangeInfo](#notifydevicestatechangeinfo) ([in] int notifyType, [in] int deviceState) | 将设备状态更改通知设备供应商。 |
24| [SetCallbackV1_2](#setcallbackv1_2) ([in] [ICameraHostCallback](interface_i_camera_host_callback_v12.md) callbackObj) | 设置ICameraHost回调接口,回调函数参考[ICameraHostCallback](interface_i_camera_host_callback_v12.md)。 |
25| [SetFlashlightV1_2](#setflashlightv1_2) ([in] float level) | 打开或关闭闪光灯。 |
26| [PreCameraSwitch](#precameraswitch) ([in] String cameraId) | 切换镜头时预热相机设备。 |
27| [PrelaunchWithOpMode](#prelaunchwithopmode) ([in] struct PrelaunchConfig config, [in] int operationMode) | 预启动Camera设备。 |
28
29
30## 成员函数说明
31
32
33### NotifyDeviceStateChangeInfo()
34
35```
36ICameraHost::NotifyDeviceStateChangeInfo ([in] int notifyType, [in] int deviceState )
37```
38
39**描述**
40
41将设备状态更改通知设备供应商。
42
43通过调用此函数,可以通知设备供应商设备状态更改。
44
45**起始版本:** 4.1
46
47**参数:**
48
49| 名称 | 描述 |
50| -------- | -------- |
51| notifyType | 通知的类型。 |
52| deviceState | 设备的状态。 |
53
54**返回:**
55
56NO_ERROR 表示执行成功。
57
58其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。
59
60
61### OpenCameraV1_2()
62
63```
64ICameraHost::OpenCameraV1_2 ([in] String cameraId, [in] ICameraDeviceCallback callbackObj, [out] ICameraDevice device )
65```
66
67**描述**
68
69打开Camera设备。
70
71打开指定的Camera设备,通过此接口可以获取到ICameraDevice对象,通过ICameraDevice对象可以操作具体的Camera设备。
72
73**起始版本:** 4.1
74
75**参数:**
76
77| 名称 | 描述 |
78| -------- | -------- |
79| cameraId | 需要打开的Camera设备ID,可通过[GetCameraIds](interface_i_camera_host_v10.md#getcameraids)接口获取当前已有Camera设备列表。 |
80| callbackObj | Camera设备相关的回调函数,具体参见[ICameraDeviceCallback](interface_i_camera_device_callback_v10.md)。 |
81| device | 返回当前要打开的Camera设备ID对应的ICameraDevice对象。 |
82
83**返回:**
84
85NO_ERROR 表示执行成功。
86
87其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。
88
89
90### PreCameraSwitch()
91
92```
93ICameraHost::PreCameraSwitch ([in] String cameraId)
94```
95
96**描述**
97
98切换镜头时预热相机设备。
99
100当用户触摸摄像头应用镜头开关图标时可以调用此功能以加速启动的相机设备,由cameraId指定。
101
102**起始版本:** 4.1
103
104**参数:**
105
106| 名称 | 描述 |
107| -------- | -------- |
108| cameraId | 指示相机设备的ID,可以通过调用 [GetCameraIds](interface_i_camera_host_v10.md#getcameraids)获取。 |
109
110**返回:**
111
112NO_ERROR 表示执行成功。
113
114其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。
115
116
117### PrelaunchWithOpMode()
118
119```
120ICameraHost::PrelaunchWithOpMode ([in] struct PrelaunchConfig config, [in] int operationMode )
121```
122
123**描述**
124
125预启动Camera设备。
126
127当用户触摸摄像头应用图标时可以调用此函数以加速启动的相机设备,由cameraId指定。
128
129**起始版本:** 4.1
130
131**参数:**
132
133| 名称 | 描述 |
134| -------- | -------- |
135| config | 预启动配置. 详细可查看[PrelaunchConfig](_prelaunch_config_v11.md)。 |
136| operationMode | 流操作模式. 详细可查看[OperationMode_V1_2](_camera_v12.md#operationmode_v1_2). |
137
138**返回:**
139
140NO_ERROR 表示执行成功。
141
142其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。
143
144
145### SetCallbackV1_2()
146
147```
148ICameraHost::SetCallbackV1_2 ([in] ICameraHostCallback callbackObj)
149```
150
151**描述**
152
153设置ICameraHost回调接口,回调函数参考[ICameraHostCallback](interface_i_camera_host_callback_v12.md)。
154
155**起始版本:** 4.1
156
157**参数:**
158
159| 名称 | 描述 |
160| -------- | -------- |
161| callbackObj | 要设置的回调函数。 |
162
163**返回:**
164
165NO_ERROR 表示执行成功。
166
167其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。
168
169
170### SetFlashlightV1_2()
171
172```
173ICameraHost::SetFlashlightV1_2 ([in] float level)
174```
175
176**描述**
177
178打开或关闭闪光灯。
179
180**起始版本:** 4.1
181
182**参数:**
183
184| 名称 | 描述 |
185| -------- | -------- |
186| level | 指定是打开还是关闭闪光灯。值 1 表示打开闪光灯,0 表示相反。 |
187
188**返回:**
189
190NO_ERROR 表示执行成功。
191
192其他值表示执行失败,具体错误码查看[CamRetCode](_camera_v12.md#camretcode)。
193