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, 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 = 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