capture_session.h

概述

声明捕获会话概念。

库: libohcamera.so

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

起始版本: 11

相关模块:OH_Camera

汇总

结构体

名称 描述
struct  CaptureSession_Callbacks 捕获会话的回调。

类型定义

名称 描述
typedef struct Camera_CaptureSession Camera_CaptureSession 捕获会话对象
typedef void(* OH_CaptureSession_OnFocusStateChange) (Camera_CaptureSession *session, Camera_FocusState focusState) CaptureSession_Callbacks中被调用的捕获会话焦点状态回调。
typedef void(* OH_CaptureSession_OnError) (Camera_CaptureSession *session, Camera_ErrorCode errorCode) CaptureSession_Callbacks中被调用的捕获会话错误回调。
typedef struct CaptureSession_Callbacks CaptureSession_Callbacks 捕获会话的回调。

函数

名称 描述
Camera_ErrorCode OH_CaptureSession_RegisterCallback (Camera_CaptureSession *session, CaptureSession_Callbacks *callback) 注册捕获会话事件回调。
Camera_ErrorCode OH_CaptureSession_UnregisterCallback (Camera_CaptureSession *session, CaptureSession_Callbacks *callback) 注销捕获会话事件回调。
Camera_ErrorCode OH_CaptureSession_BeginConfig (Camera_CaptureSession *session) 开始捕获会话配置。
Camera_ErrorCode OH_CaptureSession_CommitConfig (Camera_CaptureSession *session) 提交捕获会话配置。
Camera_ErrorCode OH_CaptureSession_AddInput (Camera_CaptureSession *session, Camera_Input *cameraInput) 添加相机输入。
Camera_ErrorCode OH_CaptureSession_RemoveInput (Camera_CaptureSession *session, Camera_Input *cameraInput) 删除相机输入。
Camera_ErrorCode OH_CaptureSession_AddPreviewOutput (Camera_CaptureSession *session, Camera_PreviewOutput *previewOutput) 添加预览输出。
Camera_ErrorCode OH_CaptureSession_RemovePreviewOutput (Camera_CaptureSession *session, Camera_PreviewOutput *previewOutput) 删除预览输出。
Camera_ErrorCode OH_CaptureSession_AddPhotoOutput (Camera_CaptureSession *session, Camera_PhotoOutput *photoOutput) 添加拍照输出。
Camera_ErrorCode OH_CaptureSession_RemovePhotoOutput (Camera_CaptureSession *session, Camera_PhotoOutput *photoOutput) 删除拍照输出。
Camera_ErrorCode OH_CaptureSession_AddVideoOutput (Camera_CaptureSession *session, Camera_VideoOutput *videoOutput) 添加录像输出。
Camera_ErrorCode OH_CaptureSession_RemoveVideoOutput (Camera_CaptureSession *session, Camera_VideoOutput *videoOutput) 删除录像输出。
Camera_ErrorCode OH_CaptureSession_AddMetadataOutput (Camera_CaptureSession *session, Camera_MetadataOutput *metadataOutput) 添加元数据输出。
Camera_ErrorCode OH_CaptureSession_RemoveMetadataOutput (Camera_CaptureSession *session, Camera_MetadataOutput *metadataOutput) 删除元数据输出。
Camera_ErrorCode OH_CaptureSession_Start (Camera_CaptureSession *session) 启动捕获会话。
Camera_ErrorCode OH_CaptureSession_Stop (Camera_CaptureSession *session) 停止捕获会话。
Camera_ErrorCode OH_CaptureSession_Release (Camera_CaptureSession *session) 释放捕获会话。
Camera_ErrorCode OH_CaptureSession_HasFlash (Camera_CaptureSession *session, bool *hasFlash) 检查设备是否有闪光灯。
Camera_ErrorCode OH_CaptureSession_IsFlashModeSupported (Camera_CaptureSession *session, Camera_FlashMode flashMode, bool *isSupported) 检查是否支持指定的闪光灯模式。
Camera_ErrorCode OH_CaptureSession_GetFlashMode (Camera_CaptureSession *session, Camera_FlashMode *flashMode) 获取当前闪光灯模式。
Camera_ErrorCode OH_CaptureSession_SetFlashMode (Camera_CaptureSession *session, Camera_FlashMode flashMode) 设置闪光灯模式。
Camera_ErrorCode OH_CaptureSession_IsExposureModeSupported (Camera_CaptureSession *session, Camera_ExposureMode exposureMode, bool *isSupported) 检查是否支持指定的曝光模式。
Camera_ErrorCode OH_CaptureSession_GetExposureMode (Camera_CaptureSession *session, Camera_ExposureMode *exposureMode) 获取当前曝光模式。
Camera_ErrorCode OH_CaptureSession_SetExposureMode (Camera_CaptureSession *session, Camera_ExposureMode exposureMode) 设置曝光模式。
Camera_ErrorCode OH_CaptureSession_GetMeteringPoint (Camera_CaptureSession *session, Camera_Point *point) 获取当前测量点。
Camera_ErrorCode OH_CaptureSession_SetMeteringPoint (Camera_CaptureSession *session, Camera_Point point) 设置计量区域的中心点。
Camera_ErrorCode OH_CaptureSession_GetExposureBiasRange (Camera_CaptureSession *session, float *minExposureBias, float *maxExposureBias, float *step) 查询曝光补偿范围。
Camera_ErrorCode OH_CaptureSession_SetExposureBias (Camera_CaptureSession *session, float exposureBias) 设置曝光补偿。
Camera_ErrorCode OH_CaptureSession_GetExposureBias (Camera_CaptureSession *session, float *exposureBias) 获取当前曝光补偿。
Camera_ErrorCode OH_CaptureSession_IsFocusModeSupported (Camera_CaptureSession *session, Camera_FocusMode focusMode, bool *isSupported) 检查是否支持指定的聚焦模式。
Camera_ErrorCode OH_CaptureSession_GetFocusMode (Camera_CaptureSession *session, Camera_FocusMode *focusMode) 获取当前聚焦模式。
Camera_ErrorCode OH_CaptureSession_SetFocusMode (Camera_CaptureSession *session, Camera_FocusMode focusMode) 设置聚焦模式。
Camera_ErrorCode OH_CaptureSession_GetFocusPoint (Camera_CaptureSession *session, Camera_Point *focusPoint) 获取当前焦点。
Camera_ErrorCode OH_CaptureSession_SetFocusPoint (Camera_CaptureSession *session, Camera_Point focusPoint) 设置焦点。
Camera_ErrorCode OH_CaptureSession_GetZoomRatioRange (Camera_CaptureSession *session, float *minZoom, float *maxZoom) 获取所有支持的缩放比例范围。
Camera_ErrorCode OH_CaptureSession_GetZoomRatio (Camera_CaptureSession *session, float *zoom) 获取当前缩放比例。
Camera_ErrorCode OH_CaptureSession_SetZoomRatio (Camera_CaptureSession *session, float zoom) 设置缩放比例。
Camera_ErrorCode OH_CaptureSession_IsVideoStabilizationModeSupported (Camera_CaptureSession *session, Camera_VideoStabilizationMode mode, bool *isSupported) 检查是否支持指定的录像防抖模式。
Camera_ErrorCode OH_CaptureSession_GetVideoStabilizationMode (Camera_CaptureSession *session, Camera_VideoStabilizationMode *mode) 获取当前录像防抖模式。
Camera_ErrorCode OH_CaptureSession_SetVideoStabilizationMode (Camera_CaptureSession *session, Camera_VideoStabilizationMode mode) 设置录像防抖模式。