1# Camera (V1_2)
2
3
4## 概述
5
6Camera模块接口定义。Camera模块涉及相机设备的操作、流的操作、离线流的操作和各种回调等。
7
8**起始版本:** 4.1
9
10
11## 汇总
12
13
14### 文件
15
16| 名称 | 描述 |
17| -------- | -------- |
18| [ICameraDevice.idl](_i_camera_device_8idl_v12.md) | Camera设备操作接口。 |
19| [ICameraHost.idl](_i_camera_host_8idl_v12.md) | Camera服务的管理类,对上层提供HDI接口。 |
20| [ICameraHostCallback.idl](_i_camera_host_callback_8idl_v12.md) | ICameraHost的回调接口,提供Camera设备和闪关灯状态变化的回调函数,回调函数由调用者实现。 |
21| [IImageProcessService.idl](_i_image_process_service_8idl_v12.md) | 声明用于图像处理服务的API。 |
22| [IStreamOperator.idl](_i_stream_operator_8idl_v12.md) | 流的操作接口。 |
23| [IStreamOperatorCallback.idl](_i_stream_operator_callback_8idl_v12.md) | [IStreamOperator](interface_i_stream_operator_v12.md)相关的回调,这些回调均由调用者实现。 |
24| [Types.idl](camera_types_8idl_v12.md) | Camera模块HDI接口使用的数据类型。 |
25
26
27### 类
28
29| 名称 | 描述 |
30| -------- | -------- |
31| interface  [ICameraDevice](interface_i_camera_device_v12.md) | 定义Camera设备基本的操作。 |
32| interface  [ICameraHost](interface_i_camera_host_v12.md) | 定义Camera设备功能操作。 |
33| interface  [ICameraHostCallback](interface_i_camera_host_callback_v12.md) | 定义Camera设备功能回调操作。 |
34| interface  [IImageProcessCallback](interface_i_image_process_callback_v12.md) | 定义声明图像处理回调。 |
35| interface  [IImageProcessService](interface_i_image_process_service_v12.md) | 声明图像处理进程服务。 |
36| interface  [IImageProcessSession](interface_i_image_process_session_v12.md) | 图像处理会话进程。 |
37| interface  [IStreamOperator](interface_i_stream_operator_v12.md) | 定义Camera设备流操作。 |
38| interface  [IStreamOperatorCallback](interface_i_stream_operator_callback_v12.md) | 定义Camera设备流回调操作。 |
39| struct  [ImageBufferInfo](_image_buffer_info_v12.md) | 定义 ImageBufferInfo,它由[IImageProcessCallback::OnProcessDone](interface_i_image_process_callback_v12.md#onprocessdone) 使用。 |
40| struct  [CaptureStartedInfo](_capture_started_info_v12.md) | 定义CaptureStartedInfo,该信息由[IStreamOperatorCallback::OnCaptureStartedV1_2](interface_i_stream_operator_callback_v12.md#oncapturestartedv1_2)使用。 |
41
42
43### 枚举
44
45| 名称 | 描述 |
46| -------- | -------- |
47| [CamRetCode](#camretcode) {<br/>NO_ERROR = 0, CAMERA_BUSY = -1, INSUFFICIENT_RESOURCES = -2, INVALID_ARGUMENT = -3,&nbsp;&nbsp;&nbsp;METHOD_NOT_SUPPORTED = -4, CAMERA_CLOSED = -5, DEVICE_ERROR = -6, NO_PERMISSION = -7 ,DEVICE_CONFLICT = -8<br/>} | HDI接口的返回值。 |
48| [ExtendedStreamInfoType_V1_2](#extendedstreaminfotype_v1_2) { EXTENDED_STREAM_INFO_QUICK_THUMBNAIL = 0 , EXTENDED_STREAM_INFO_SKETCH = 1 } | 扩展流信息的类型。 |
49| [OperationMode_V1_2](#operationmode_v1_2) {<br/>NORMAL&nbsp;&nbsp;= 0 , CAPTURE = 1 , VIDEO = 2 , PORTRAIT = 3 ,<br/>NIGHT = 4 , PROFESSIONAL = 5 , SLOW_MOTION = 6 , SCAN_CODE = 7 , CAPTURE_MACRO = 8 , VIDEO_MACRO = 9 , SUPER_STAB = 10<br/>} | 流使用模式。 |
50| [DeferredDeliveryImageType](#deferreddeliveryimagetype) { NONE = 0 , STILL_IMAGE = 1 , MOVING_IMAGE = 2 } | 延迟拍照的类型。 |
51| [SessionStatus](#sessionstatus) {<br/>SESSION_STATUS_READY = 0 , SESSION_STATUS_READY_SPACE_LIMIT_REACHED = 1 , SESSSON_STATUS_NOT_READY_TEMPORARILY = 2 , SESSION_STATUS_NOT_READY_OVERHEAT = 3 ,<br/>SESSION_STATUS_NOT_READY_PREEMPTED = 4<br/>} | 会话状态的类型。 |
52| [ErrorCode](#errorcode) {<br/>TIMEOUT = 0 , ERROR = 1 , BUSY = 3 , HIGH_TEMPERATURE = 4 ,<br/>ABORT = 5<br/>} | 错误代码的类型。 |
53| [ExecutionMode](#executionmode) { HIGH_PREFORMANCE = 0 , BALANCED = 1 , LOW_POWER = 2 } | 执行模式的类型。 |
54
55
56## 枚举类型说明
57
58
59### CamRetCode
60
61```
62enum CamRetCode
63```
64
65**描述**
66
67HDI接口的返回值。
68
69**起始版本:** 4.1
70
71| 枚举值 | 描述 |
72| -------- | -------- |
73| NO_ERROR | 调用成功。 |
74| CAMERA_BUSY | 设备当前忙。 |
75| INSUFFICIENT_RESOURCES | 资源不足。 |
76| INVALID_ARGUMENT | 参数错误。 |
77| METHOD_NOT_SUPPORTED | 不支持当前调用方法。 |
78| CAMERA_CLOSED | Camera设备已经关闭。 |
79| DEVICE_ERROR | 驱动层发生严重错误。 |
80| NO_PERMISSION | 无权限访问设备。 |
81| DEVICE_CONFLICT | 设备冲突。 |
82
83
84### DeferredDeliveryImageType
85
86```
87enum DeferredDeliveryImageType
88```
89
90**描述**
91
92延迟拍照的类型。
93
94**起始版本:** 4.1
95
96| 枚举值 | 描述 |
97| -------- | -------- |
98| NONE | 不支持延迟拍照。 |
99| STILL_IMAGE | 支持静止图像。 |
100| MOVING_IMAGE | 支持动态图像。 |
101
102
103### ErrorCode
104
105```
106enum ErrorCode
107```
108
109**描述**
110
111错误代码的类型。
112
113**起始版本:** 4.1
114
115| 枚举值 | 描述 |
116| -------- | -------- |
117| TIMEOUT | 超时。 |
118| ERROR | 错误。 |
119| BUSY | 忙碌。 |
120| HIGH_TEMPERATURE | 高温。 |
121| ABORT | 中止。 |
122
123
124### ExecutionMode
125
126```
127enum ExecutionMode
128```
129
130**描述**
131
132执行模式的类型。
133
134**起始版本:** 4.1
135
136| 枚举值 | 描述 |
137| -------- | -------- |
138| HIGH_PREFORMANCE | 高性能模式。 |
139| BALANCED | 平衡模式。 |
140| LOW_POWER | 低功耗模式。 |
141
142
143### ExtendedStreamInfoType_V1_2
144
145```
146enum ExtendedStreamInfoType_V1_2
147```
148
149**描述**
150
151扩展流信息的类型。
152
153**起始版本:** 4.1
154
155| 枚举值 | 描述 |
156| -------- | -------- |
157| EXTENDED_STREAM_INFO_QUICK_THUMBNAIL | 快速缩略图的扩展流信息。 |
158| EXTENDED_STREAM_INFO_SKETCH | sketch的扩展流信息。 |
159
160
161### OperationMode_V1_2
162
163```
164enum OperationMode_V1_2
165```
166
167**描述**
168
169流使用模式。
170
171**起始版本:** 4.1
172
173| 枚举值 | 描述 |
174| -------- | -------- |
175| NORMAL | 普通模式,支持照片和视频场景 |
176| CAPTURE | 拍摄模式,专用于照片场景 如果实现了此模式,则不应再实现 NORMAL 模式 |
177| VIDEO | 视频模式,专用于视频秒控 如果实现了此模式,则不应再实现 NORMAL 模式 |
178| PORTRAIT | 人像模式,专用于人像照片拍摄 |
179| NIGHT | 夜间模式,专用于夜间拍摄场景 |
180| PROFESSIONAL | 专业模式,专用于专业拍照场景 |
181| SLOW_MOTION | 慢动作模式,专用于捕捉慢动作 |
182| SCAN_CODE | 扫描模式,专用于扫码 |
183| CAPTURE_MACRO | 微距模式,专用于微距拍照 |
184| VIDEO_MACRO | 微距模式,专用于微距录像 |
185| SUPER_STAB | 超级防抖模式,专用于使用超级防抖模式 |
186
187
188### SessionStatus
189
190```
191enum SessionStatus
192```
193
194**描述**
195
196会话状态的类型。
197
198**起始版本:** 4.1
199
200| 枚举值 | 描述 |
201| -------- | -------- |
202| SESSION_STATUS_READY | 会话已准备就绪。 |
203| SESSION_STATUS_READY_SPACE_LIMIT_REACHED | 会话已准备就绪,但已达到存储限制。 |
204| SESSSON_STATUS_NOT_READY_TEMPORARILY | 会话暂时未就绪。 |
205| SESSION_STATUS_NOT_READY_OVERHEAT | 由于过热,会话未就绪。 |
206| SESSION_STATUS_NOT_READY_PREEMPTED | 由于被抢占,会话未就绪。 |
207