跳到主要内容

camera.h

概述

定义相机的基本接口和功能。

引用文件: <ohcamera/camera.h>

库: libohcamera.so

系统能力: SystemCapability.Multimedia.Camera.Core

起始版本: 11

相关模块: OH_Camera

汇总

结构体

名称typedef关键字描述
Camera_DeviceQueryInfoCamera_DeviceQueryInfo相机设备的查询信息。
Camera_SizeCamera_Size大小参数。
Camera_ProfileCamera_Profile相机流的配置文件。
Camera_FrameRateRangeCamera_FrameRateRange帧速率范围。
Camera_VideoProfileCamera_VideoProfile录像配置文件。
Camera_OutputCapabilityCamera_OutputCapability相机输出能力。
Camera_DeviceCamera_Device相机设备对象。
Camera_StatusInfoCamera_StatusInfo相机状态信息。
Camera_PointCamera_Point点参数。
Camera_LocationCamera_Location拍照位置。
Camera_PhotoCaptureSettingCamera_PhotoCaptureSetting要设置的拍照捕获选项。
Camera_FrameShutterInfoCamera_FrameShutterInfo帧快门回调信息。
Camera_CaptureEndInfoCamera_CaptureEndInfo捕获结束信息。
Camera_RectCamera_Rect矩形定义。 检测点应在0-1坐标系内,该坐标系左上角为(0,0),右下角为(1,1)。 此坐标系以设备充电口在右侧时的横向设备方向为基准。 例如应用的预览界面布局以设备充电口在下侧时的竖向方向为基准,布局宽高为(w,h), 返回点为(x,y),则转换后的坐标点为(1-y,x)。
Camera_MetadataObjectCamera_MetadataObject元数据对象基础。
Camera_TorchStatusInfoCamera_TorchStatusInfo手电筒状态信息。
Camera_SmoothZoomInfoCamera_SmoothZoomInfo平滑变焦参数信息。
Camera_CaptureStartInfoCamera_CaptureStartInfo拍照开始信息。
Camera_FrameShutterEndInfoCamera_FrameShutterEndInfo拍照曝光结束信息。
Camera_FoldStatusInfoCamera_FoldStatusInfo折叠状态信息。
Camera_AutoDeviceSwitchStatusInfoCamera_AutoDeviceSwitchStatusInfo自动设备切换状态信息。
Camera_ConcurrentInfoCamera_ConcurrentInfo相机并发能力信息。
Camera_ControlCenterStatusInfoCamera_ControlCenterStatusInfo控制器效果激活状态信息。
Camera_OcclusionDetectionResultCamera_OcclusionDetectionResult相机镜头遮挡、脏污检测结果。
Camera_ManagerCamera_Manager相机管理器对象。 可以使用OH_Camera_GetCameraManager方法创建指针。

枚举

名称typedef关键字描述
Camera_ErrorCodeCamera_ErrorCode相机错误代码的枚举。
Camera_StatusCamera_Status相机状态的枚举。
Camera_SceneModeCamera_SceneMode相机模式的枚举。
Camera_PositionCamera_Position相机位置的枚举。
Camera_TypeCamera_Type相机类型的枚举。
Camera_ConnectionCamera_Connection相机连接类型的枚举。
Camera_FormatCamera_Format相机格式类型的枚举。
Camera_FlashModeCamera_FlashMode闪光模式的枚举。
Camera_ExposureModeCamera_ExposureMode曝光模式的枚举。
Camera_FocusModeCamera_FocusMode聚焦模式的枚举。
Camera_FocusStateCamera_FocusState焦点状态的枚举。
Camera_VideoStabilizationModeCamera_VideoStabilizationMode录像防抖模式的枚举。
Camera_ImageRotationCamera_ImageRotation图像旋转角度的枚举。
Camera_QualityLevelCamera_QualityLevel图像质量等级的枚举。
Camera_MetadataObjectTypeCamera_MetadataObjectType元数据对象类型的枚举。
Camera_TorchModeCamera_TorchMode手电筒模式的枚举。
Camera_SmoothZoomModeCamera_SmoothZoomMode平滑变焦模式的枚举。
Camera_SystemPressureLevelCamera_SystemPressureLevel系统压力等级的枚举。
Camera_PreconfigTypeCamera_PreconfigType预配置照片分辨率的枚举。
Camera_PreconfigRatioCamera_PreconfigRatio预配置照片比例的枚举。
Camera_HostDeviceTypeCamera_HostDeviceType远程设备类型枚举。
Camera_FoldStatusCamera_FoldStatus折叠状态枚举。
Camera_QualityPrioritizationCamera_QualityPrioritization录像质量优先级的枚举。
Camera_ConcurrentTypeCamera_ConcurrentType相机并发状态的枚举。
Camera_WhiteBalanceModeCamera_WhiteBalanceMode白平衡模式枚举。
Camera_ControlCenterEffectTypeCamera_ControlCenterEffectType控制器效果类型枚举。
Camera_PhotoQualityPrioritizationCamera_PhotoQualityPrioritization拍照画质优先策略枚举。

函数

名称描述
Camera_ErrorCode OH_Camera_GetCameraManager(Camera_Manager** cameraManager)创建CameraManager实例。
Camera_ErrorCode OH_Camera_DeleteCameraManager(Camera_Manager* cameraManager)删除CameraManager实例。

枚举类型说明

Camera_ErrorCode

enum Camera_ErrorCode

描述

相机错误代码的枚举。

起始版本: 11

枚举项描述
CAMERA_OK = 0相机结果正常。
CAMERA_INVALID_ARGUMENT = 7400101参数丢失或参数类型不正确。
CAMERA_OPERATION_NOT_ALLOWED = 7400102不允许操作。
CAMERA_SESSION_NOT_CONFIG = 7400103会话未配置。
CAMERA_SESSION_NOT_RUNNING = 7400104会话未运行。
CAMERA_SESSION_CONFIG_LOCKED = 7400105会话配置已锁定。
CAMERA_DEVICE_SETTING_LOCKED = 7400106设备设置已锁定。
CAMERA_CONFLICT_CAMERA = 7400107因冲突而无法使用相机。
CAMERA_DEVICE_DISABLED = 7400108由于安全原因,相机已禁用。
CAMERA_DEVICE_PREEMPTED = 7400109因被抢占而无法使用相机。
CAMERA_UNRESOLVED_CONFLICTS_WITH_CURRENT_CONFIGURATIONS = 7400110与当前配置存在冲突。 起始版本: 12
CAMERA_SERVICE_FATAL_ERROR = 7400201相机服务异常。 比如没有相机权限、相机服务重启、跨进程调用异常等。

Camera_Status

enum Camera_Status

描述

相机状态的枚举。

起始版本: 11

枚举项描述
CAMERA_STATUS_APPEAR = 0显示状态。
CAMERA_STATUS_DISAPPEAR = 1消失状态。
CAMERA_STATUS_AVAILABLE = 2可用状态。
CAMERA_STATUS_UNAVAILABLE = 3不可用状态。

Camera_SceneMode

enum Camera_SceneMode

描述

相机模式的枚举。

起始版本: 12

枚举项描述
NORMAL_PHOTO = 1普通相机模式。
NORMAL_VIDEO = 2普通视频模式。
SECURE_PHOTO = 12安全相机模式,主要为银行等有活体检测等安全诉求的应用提供。安全相机的使用需要加密算法框架及可信应用服务,详情请参见Device Certificate Kit简介

Camera_Position

enum Camera_Position

描述

相机位置的枚举。

起始版本: 11

枚举项描述
CAMERA_POSITION_UNSPECIFIED = 0相对于设备屏幕没有固定的朝向的相机。
CAMERA_POSITION_BACK = 1后置。
CAMERA_POSITION_FRONT = 2前置。

Camera_Type

enum Camera_Type

描述

相机类型的枚举。

起始版本: 11

枚举项描述
CAMERA_TYPE_DEFAULT = 0默认相机类型。
CAMERA_TYPE_WIDE_ANGLE = 1广角相机。
CAMERA_TYPE_ULTRA_WIDE = 2超广角相机。
CAMERA_TYPE_TELEPHOTO = 3长焦相机。
CAMERA_TYPE_TRUE_DEPTH = 4景深相机。

Camera_Connection

enum Camera_Connection

描述

相机连接类型的枚举。

起始版本: 11

枚举项描述
CAMERA_CONNECTION_BUILT_IN = 0内置相机。
CAMERA_CONNECTION_USB_PLUGIN = 1使用USB连接的相机。
CAMERA_CONNECTION_REMOTE = 2远程相机。

Camera_Format

enum Camera_Format

描述

相机格式类型的枚举。

起始版本: 11

枚举项描述
CAMERA_FORMAT_RGBA_8888 = 3RGBA 8888格式。
CAMERA_FORMAT_YUV_420_SP = 1003YUV 420格式。
CAMERA_FORMAT_JPEG = 2000JPEG格式。
CAMERA_FORMAT_YCBCR_P010 = 2001YCBCR P010 格式。 起始版本: 12
CAMERA_FORMAT_YCRCB_P010 = 2002YCRCB P010 格式。 起始版本: 12
CAMERA_FORMAT_HEIC = 2003HEIC格式。 起始版本: 23

Camera_FlashMode

enum Camera_FlashMode

描述

闪光模式的枚举。

起始版本: 11

枚举项描述
FLASH_MODE_CLOSE = 0关闭模式。
FLASH_MODE_OPEN = 1打开模式。
FLASH_MODE_AUTO = 2自动模式。
FLASH_MODE_ALWAYS_OPEN = 3始终打开模式。

Camera_ExposureMode

enum Camera_ExposureMode

描述

曝光模式的枚举。

起始版本: 11

枚举项描述
EXPOSURE_MODE_LOCKED = 0锁定曝光模式。 不支持曝光区域中心点设置。 设置该模式后,每次拍照时曝光都会默认锁定。
EXPOSURE_MODE_AUTO = 1自动曝光模式。支持曝光区域中心点设置,可以使用OH_CaptureSession_SetMeteringPoint接口设置曝光区域中心点。 设置该模式后,仅设置后的首次拍照生效。
EXPOSURE_MODE_CONTINUOUS_AUTO = 2连续自动曝光。 设置该模式后,拍照系统会根据每次的环境变化自动调整曝光。

Camera_FocusMode

enum Camera_FocusMode

描述

聚焦模式的枚举。

起始版本: 11

枚举项描述
FOCUS_MODE_MANUAL = 0手动模式。
FOCUS_MODE_CONTINUOUS_AUTO = 1连续自动模式。
FOCUS_MODE_AUTO = 2自动模式。
FOCUS_MODE_LOCKED = 3锁定模式。

Camera_FocusState

enum Camera_FocusState

描述

焦点状态的枚举。

起始版本: 11

枚举项描述
FOCUS_STATE_SCAN = 0扫描状态。
FOCUS_STATE_FOCUSED = 1聚焦状态。
FOCUS_STATE_UNFOCUSED = 2非聚焦状态。

Camera_VideoStabilizationMode

enum Camera_VideoStabilizationMode

描述

录像防抖模式的枚举。

起始版本: 11

枚举项描述
STABILIZATION_MODE_OFF = 0关闭录像防抖。
STABILIZATION_MODE_LOW = 1LOW模式,提供基本的防抖效果。
STABILIZATION_MODE_MIDDLE = 2MIDDLE模式,表示通过算法可以获得比LOW模式更好的效果。
STABILIZATION_MODE_HIGH = 3HIGH模式,表示通过算法可以获得比MIDDLE模式更好的效果。
STABILIZATION_MODE_AUTO = 4自动选择模式,HDF相机可用。

Camera_ImageRotation

enum Camera_ImageRotation

描述

图像旋转角度的枚举。

起始版本: 11

枚举项描述
IAMGE_ROTATION_0 = 0捕获图像旋转0度。 从API version 23开始,推荐使用新枚举值CAMERA_IMAGE_ROTATION_0
CAMERA_IMAGE_ROTATION_0 = 0捕获图像旋转0度。 起始版本: 23
IAMGE_ROTATION_90 = 90捕获图像旋转90度。 从API version 23开始,推荐使用新枚举值CAMERA_IMAGE_ROTATION_90
CAMERA_IMAGE_ROTATION_90 = 90捕获图像旋转90度。 起始版本: 23
IAMGE_ROTATION_180 = 180捕获图像旋转180度。 从API version 23开始,推荐使用新枚举值CAMERA_IMAGE_ROTATION_180
CAMERA_IMAGE_ROTATION_180 = 180捕获图像旋转180度。 起始版本: 23
IAMGE_ROTATION_270 = 270捕获图像旋转270度。 从API version 23开始,推荐使用新枚举值CAMERA_IMAGE_ROTATION_270
CAMERA_IMAGE_ROTATION_270 = 270捕获图像旋转270度。 起始版本: 23

Camera_QualityLevel

enum Camera_QualityLevel

描述

图像质量等级的枚举。

起始版本: 11

枚举项描述
QUALITY_LEVEL_HIGH = 0高图像质量。
QUALITY_LEVEL_MEDIUM = 1中等图像质量。
QUALITY_LEVEL_LOW = 2低图像质量。

Camera_MetadataObjectType

enum Camera_MetadataObjectType

描述

元数据对象类型的枚举。

起始版本: 11

枚举项描述
FACE_DETECTION = 0元数据的对象类型,用于人脸检测。 从API version 23开始,推荐使用新枚举值CAMERA_METADATA_OBJECT_TYPE_FACE_DETECTION
CAMERA_METADATA_OBJECT_TYPE_FACE_DETECTION = 0元数据的对象类型,用于人脸检测。 起始版本: 23
CAMERA_METADATA_OBJECT_TYPE_HUMAN_BODY = 1元数据的对象类型,用于人体检测。 起始版本: 23

Camera_TorchMode

enum Camera_TorchMode

描述

手电筒模式的枚举。

起始版本: 12

枚举项描述
OFF = 0设备手电筒常关。 从API version 23开始,推荐使用新枚举值CAMERA_TORCH_MODE_OFF
CAMERA_TORCH_MODE_OFF = 0设备手电筒常关。 起始版本: 23
ON = 1设备手电筒常开。 从API version 23开始,推荐使用新枚举值CAMERA_TORCH_MODE_ON
CAMERA_TORCH_MODE_ON = 1设备手电筒常开。 起始版本: 23
AUTO = 2设备手电筒自动模式,将根据环境光照水平打开手电筒。 从API version 23开始,推荐使用新枚举值CAMERA_TORCH_MODE_AUTO
CAMERA_TORCH_MODE_AUTO = 2设备手电筒自动模式,将根据环境光照水平打开手电筒。 起始版本: 23

Camera_SmoothZoomMode

enum Camera_SmoothZoomMode

描述

平滑变焦模式的枚举。

起始版本: 12

枚举项描述
NORMAL = 0贝塞尔曲线模式。 从API version 23开始,推荐使用新枚举值CAMERA_SMOOTH_ZOOM_MODE_NORMAL
CAMERA_SMOOTH_ZOOM_MODE_NORMAL = 0贝塞尔曲线模式。 起始版本: 23

Camera_SystemPressureLevel

enum Camera_SystemPressureLevel

描述

系统压力等级的枚举。

起始版本: 20

枚举项描述
SYSTEM_PRESSURE_NORMAL = 0系统压力正常。
SYSTEM_PRESSURE_MILD = 1系统压力升高,但是系统不会主动管控。
SYSTEM_PRESSURE_SEVERE = 2系统压力可能对图像总质量、性能产生影响。
SYSTEM_PRESSURE_CRITICAL = 3系统图像质量、性能产生显著影响。
SYSTEM_PRESSURE_SHUTDOWN = 4系统压力过高,停止工作。

Camera_PreconfigType

enum Camera_PreconfigType

描述

预配置照片分辨率的枚举。

起始版本: 12

枚举项描述
PRECONFIG_720P = 0预配置照片分辨率为720P。
PRECONFIG_1080P = 1预配置照片分辨率为1080P。
PRECONFIG_4K = 2预配置照片分辨率为4K。
PRECONFIG_HIGH_QUALITY = 3预配置照片为高质量。
PRECONFIG_HIGH_QUALITY_PHOTOSESSION_BT2020 = 4预配置支持预览高动态范围显示和HDR动图拍摄。 起始版本: 23

Camera_PreconfigRatio

enum Camera_PreconfigRatio

描述

预配置照片比例的枚举。

起始版本: 12

枚举项描述
PRECONFIG_RATIO_1_1 = 0预配置照片比例为1:1。
PRECONFIG_RATIO_4_3 = 1预配置照片比例为4:3。
PRECONFIG_RATIO_16_9 = 2预配置照片比例为16:9。

Camera_HostDeviceType

enum Camera_HostDeviceType

描述

远程设备类型枚举。

起始版本: 15

枚举项描述
HOST_DEVICE_TYPE_UNKNOWN_TYPE = 0未知设备类型。
HOST_DEVICE_TYPE_PHONE = 0x0E手机设备。
HOST_DEVICE_TYPE_TABLET = 0x11平板设备。

Camera_FoldStatus

enum Camera_FoldStatus

描述

折叠状态枚举。

起始版本: 13

枚举项描述
NON_FOLDABLE = 0不可折叠状态。 从API version 23开始,推荐使用新枚举值CAMERA_FOLD_STATUS_NON_FOLDABLE
CAMERA_FOLD_STATUS_NON_FOLDABLE = 0不可折叠状态。 起始版本: 23
EXPANDED = 1展开状态。 从API version 23开始,推荐使用新枚举值CAMERA_FOLD_STATUS_EXPANDED
CAMERA_FOLD_STATUS_EXPANDED = 1展开状态。 起始版本: 23
FOLDED = 2折叠状态。 从API version 23开始,推荐使用新枚举值CAMERA_FOLD_STATUS_FOLDED
CAMERA_FOLD_STATUS_FOLDED = 2折叠状态。 起始版本: 23

Camera_QualityPrioritization

enum Camera_QualityPrioritization

描述

录像质量优先级的枚举。

起始版本: 14

枚举项描述
HIGH_QUALITY = 0高录像质量。
POWER_BALANCE = 1功耗平衡录像质量。

Camera_ConcurrentType

enum Camera_ConcurrentType

描述

相机并发状态的枚举。

起始版本: 18

枚举项描述
CAMERA_CONCURRENT_TYPE_LIMITED_CAPABILITY = 0相机限制并发。
CAMERA_CONCURRENT_TYPE_FULL_CAPABILITY = 1相机全量并发。

Camera_WhiteBalanceMode

enum Camera_WhiteBalanceMode

描述

白平衡模式枚举。

起始版本: 20

枚举项描述
CAMERA_WHITE_BALANCE_MODE_AUTO = 0白平衡模式:自动。
CAMERA_WHITE_BALANCE_MODE_CLOUDY = 1白平衡模式:阴天。
CAMERA_WHITE_BALANCE_MODE_INCANDESCENT = 2白平衡模式:白炽灯。
CAMERA_WHITE_BALANCE_MODE_FLUORESCENT = 3白平衡模式:荧光。
CAMERA_WHITE_BALANCE_MODE_DAYLIGHT = 4白平衡模式:晴天。
CAMERA_WHITE_BALANCE_MODE_MANUAL = 5白平衡模式:手动。
CAMERA_WHITE_BALANCE_MODE_LOCKED = 6白平衡模式:锁定。

Camera_ControlCenterEffectType

enum Camera_ControlCenterEffectType

描述

控制器效果类型枚举。

起始版本: 20

枚举项描述
CONTROL_CENTER_EFFECT_TYPE_BEAUTY = 0控制器效果类型:美颜。
CONTROL_CENTER_EFFECT_TYPE_PORTRAIT = 1控制器效果类型:人像虚化。

Camera_PhotoQualityPrioritization

enum Camera_PhotoQualityPrioritization

描述

拍照画质优先策略枚举。

起始版本: 21

枚举项描述
CAMERA_PHOTO_QUALITY_PRIORITIZATION_HIGH_QUALITY = 0画质优先,拍照需要较长的时间,以输出高画质的图片。
CAMERA_PHOTO_QUALITY_PRIORITIZATION_SPEED = 1性能优先,会降低画质来提升拍照的速度。

函数说明

OH_Camera_GetCameraManager()

Camera_ErrorCode OH_Camera_GetCameraManager(Camera_Manager** cameraManager)

描述

创建CameraManager实例。

起始版本: 11

参数:

参数项描述
Camera_Manager** cameraManager如果方法调用成功,将创建Camera_Manager实例。

返回:

类型说明
Camera_ErrorCodeCAMERA_OK:方法调用成功。 CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 CAMERA_SERVICE_FATAL_ERROR:相机服务异常。

OH_Camera_DeleteCameraManager()

Camera_ErrorCode OH_Camera_DeleteCameraManager(Camera_Manager* cameraManager)

描述

删除CameraManager实例。

起始版本: 11

参数:

参数项描述
Camera_Manager* cameraManager要删除的Camera_Manager实例。

返回:

类型说明
Camera_ErrorCodeCAMERA_OK:方法调用成功。 CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 CAMERA_SERVICE_FATAL_ERROR:相机服务异常。