Camera
概述
Camera模块接口定义。
Camera模块涉及相机设备的操作、流的操作、离线流的操作和各种回调等。
Since:
3.2
Version:
1.0
汇总
文件
名称 | 描述 |
---|---|
ICameraDevice.idl | Camera设备操作接口。 |
ICameraDeviceCallback.idl | Camera设备的回调接口,主要包含Camera设备发生错误时和上报metadata的回调函数。 |
ICameraHost.idl | Camera服务的管理类,对上层提供HDI接口。 |
ICameraHostCallback.idl | ICameraHost的回调接口,提供Camera设备和闪关灯状态变化的回调函数,回调函数由调用者实现。 |
IOfflineStreamOperator.idl | 离线流的操作接口。 |
IStreamOperator.idl | 流的操作接口。 |
IStreamOperatorCallback.idl | IStreamOperator相关的回调,这些回调均由调用者实现。 |
Types.idl | Camera模块HDI接口使用的数据类型。 |
类
名称 | 描述 |
---|---|
ICameraDevice | interface 定义Camera设备基本的操作。 |
ICameraDeviceCallback | interface 定义Camera设备回调操作。 |
ICameraHost | interface 定义Camera设备功能操作。 |
ICameraHostCallback | interface 定义Camera设备功能回调操作。 |
IOfflineStreamOperator | interface 定义Camera设备离线流操作。 |
IStreamOperator | interface 定义Camera设备流操作。 |
IStreamOperatorCallback | interface 定义Camera设备流回调操作。 |
StreamInfo | struct 流信息,用于创建流时传入相关的配置参数。 |
StreamAttribute | struct 流的属性。 |
CaptureInfo | struct 捕获请求的相关信息。 |
CaptureEndedInfo | struct 捕获结束相关信息,用于捕获结束回调OnCaptureEnded。 |
CaptureErrorInfo | struct 流错误信息,用于回调OnCaptureError。 |
枚举
名称 | 描述 |
---|---|
CamRetCode { 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 } | HDI接口的返回值。 |
ResultCallbackMode { PER_FRAME = 0, ON_CHANGED = 1 } | metadata的上报模式。 |
OperationMode { NORMAL = 0 } | 流的使用模式。 |
StreamIntent { PREVIEW = 0, VIDEO = 1, STILL_CAPTURE = 2, POST_VIEW = 3, ANALYZE = 4, CUSTOM = 5 } | 流的类型。 |
EncodeType { ENCODE_TYPE_NULL = 0, ENCODE_TYPE_H264 = 1, ENCODE_TYPE_H265 = 2, ENCODE_TYPE_JPEG = 3 } | 流数据的编码类型。 |
StreamSupportType { DYNAMIC_SUPPORTED = 0, RE_CONFIGURED_REQUIRED = 1, NOT_SUPPORTED = 2 } | 对动态配置流的支持类型,使用场景参考IsStreamsSupported。 |
CameraStatus { UN_AVAILABLE = 0, AVAILABLE = 1 } | Camera设备状态。 |
FlashlightStatus { FLASHLIGHT_OFF = 0, FLASHLIGHT_ON = 1, FLASHLIGHT_UNAVAILABLE = 2 } | 闪光灯状态。 |
CameraEvent { CAMERA_EVENT_DEVICE_ADD = 0, CAMERA_EVENT_DEVICE_RMV = 1 } | Camera事件。 |
ErrorType { FATAL_ERROR = 0, REQUEST_TIMEOUT = 1, DRIVER_ERROR = 2, DEVICE_PREEMPT = 3, DEVICE_DISCONNECT = 4, DCAMERA_ERROR_BEGIN = 1024, DCAMERA_ERROR_DEVICE_IN_USE, DCAMERA_ERROR_NO_PERMISSION } | 设备错误类型,用于设备错误回调OnError。 |
StreamError { UNKNOWN_ERROR = 0, BUFFER_LOST = 1 } | 流错误类型,用于流错误类型CaptureErrorInfo。 |
关键字
名称 | 描述 |
---|---|
package ohos.hdi.camera.v1_0 | Camera设备接口的包路径。 |
sequenceable ohos.hdi.camera.v1_0.BufferProducerSequenceable | ohos.hdi.camera.v1_0序列,可用缓冲区生成器。 |
枚举类型说明
CameraEvent
enum CameraEvent
描述:
Camera事件。
枚举值 | 描述 |
---|---|
CAMERA_EVENT_DEVICE_ADD | Camera设备增加事件。 |
CAMERA_EVENT_DEVICE_RMV | Camera设备删除事件。 |
CameraStatus
enum CameraStatus
描述:
Camera设备状态。
枚举值 | 描述 |
---|---|
UN_AVAILABLE | 设备当前不在位或者不可用。 |
AVAILABLE | 设备当前可用。 |
CamRetCode
enum CamRetCode
描述:
HDI接口的返回值。
枚举值 | 描述 |
---|---|
NO_ERROR | 调用成功。 |
CAMERA_BUSY | 设备当前忙。 |
INSUFFICIENT_RESOURCES | 资源不足。 |
INVALID_ARGUMENT | 参数错误。 |
METHOD_NOT_SUPPORTED | 不支持当前调用方法。 |
CAMERA_CLOSED | Camera设备已经关闭。 |
DEVICE_ERROR | 驱动层发生严重错误。 |
NO_PERMISSION | 无权限访问设备。 |
EncodeType
enum EncodeType
描述:
流数据的编码类型。
枚举值 | 描述 |
---|---|
ENCODE_TYPE_NULL | 未设置编码类型 |
ENCODE_TYPE_H264 | 编码类型为H264。 |
ENCODE_TYPE_H265 | 编码类型为H265。 |
ENCODE_TYPE_JPEG | 编码类型为JPEG。 |
ErrorType
enum ErrorType
描述:
设备错误类型,用于设备错误回调OnError。
枚举值 | 描述 |
---|---|
FATAL_ERROR | 严重错误,需要关闭Camera设备。 |
REQUEST_TIMEOUT | 请求超时,需要关闭Camera设备。 |
DRIVER_ERROR | 驱动程序中发生错误。 |
DEVICE_PREEMPT | 设备被抢占。 |
DEVICE_DISCONNECT | 设备已断开连接。 |
DCAMERA_ERROR_BEGIN | 分布式像机错误开始的标识。 |
DCAMERA_ERROR_DEVICE_IN_USE | 分布式像机设备忙。 |
DCAMERA_ERROR_NO_PERMISSION | 没有访问分布式摄像机设备的权限。 |
FlashlightStatus
enum FlashlightStatus
描述:
闪光灯状态。
枚举值 | 描述 |
---|---|
FLASHLIGHT_OFF | 闪光灯关闭。 |
FLASHLIGHT_ON | 闪光灯开启。 |
FLASHLIGHT_UNAVAILABLE | 闪光灯当前不可用。 |
OperationMode
enum OperationMode
描述:
流的使用模式。
枚举值 | 描述 |
---|---|
NORMAL | 普通模式。 |
ResultCallbackMode
enum ResultCallbackMode
描述:
metadata的上报模式。
枚举值 | 描述 |
---|---|
PER_FRAME | 逐帧上报。 |
ON_CHANGED | 设备状态变化时上报。 |
StreamError
enum StreamError
描述:
流错误类型,用于流错误类型CaptureErrorInfo。
枚举值 | 描述 |
---|---|
UNKNOWN_ERROR | 流未知错误。 |
BUFFER_LOST | 丢包。 |
StreamIntent
enum StreamIntent
描述:
流的类型。
枚举值 | 描述 |
---|---|
PREVIEW | 流数据用于显示,即预览流。 |
VIDEO | 流数据用于编码生成录像,即录像流。 |
STILL_CAPTURE | 流数据用于编码生成照片,即拍照流。 |
POST_VIEW | 流数据用于保存缩略图。 |
ANALYZE | 流数据用于图像分析。 |
CUSTOM | 自定义类型。 |
StreamSupportType
enum StreamSupportType
描述:
对动态配置流的支持类型,使用场景参考IsStreamsSupported。
枚举值 | 描述 |
---|---|
DYNAMIC_SUPPORTED | 支持动态配置流,对应的流参数直接生效。 |
RE_CONFIGURED_REQUIRED | 不支持动态配置流,对应的参数需要停止流然后重新配置流才能生效。 |
NOT_SUPPORTED | 不支持对应的流参数配置。 |