1# OH_Camera 2 3 4## Overview 5 6The **OH_Camera** module provides C APIs for the camera service. 7 8**System capability**: SystemCapability.Multimedia.Camera.Core 9 10**Since**: 11 11 12 13## Summary 14 15 16### File 17 18| Name| Description| 19| -------- | -------- | 20| [camera.h](camera_8h.md) | Declares the basic concepts of the camera.| 21| [camera_device.h](camera__device_8h.md) | Declares the basic concepts of the camera device.| 22| [camera_input.h](camera__input_8h.md) | Declares the camera input concepts.| 23| [camera_manager.h](camera__manager_8h.md) | Declares the camera manager concepts.| 24| [capture_session.h](capture__session_8h.md) | Declares the capture session concepts.| 25| [metadata_output.h](metadata__output_8h.md) | Declares the metadata output concepts.| 26| [photo_native.h](photo__native_8h.md) | Declares the camera photo concepts.| 27| [photo_output.h](photo__output_8h.md) | Declares the photo output concepts.| 28| [preview_output.h](preview__output_8h.md) | Declares the preview output concepts.| 29| [video_output.h](video__output_8h.md) | Declares the video output concepts.| 30 31 32### Structs 33 34| Name| Description| 35| -------- | -------- | 36| struct [Camera_Size](_camera___size.md) | Describes the parameters related to the size.| 37| struct [Camera_Profile](_camera___profile.md) | Describes the profile of a camera stream.| 38| struct [Camera_FrameRateRange](_camera___frame_rate_range.md) | Describes the frame rate range.| 39| struct [Camera_VideoProfile](_camera___video_profile.md) | Describes the video profile.| 40| struct [Camera_OutputCapability](_camera___output_capability.md) | Describes the camera output capability.| 41| struct [Camera_Device](_camera___device.md) | Describes the camera device.| 42| struct [Camera_StatusInfo](_camera___status_info.md) | Describes the camera status information.| 43| struct [Camera_Point](_camera___point.md) | Describes the parameters related to a point.| 44| struct [Camera_Location](_camera___location.md) | Describes the location where the photo is taken.| 45| struct [Camera_PhotoCaptureSetting](_camera___photo_capture_setting.md) | Describes the parameters related to photo capture.| 46| struct [Camera_FrameShutterInfo](_camera___frame_shutter_info.md) | Describes the frame shutter information.| 47| struct [Camera_CaptureEndInfo](_camera___capture_end_info.md) | Describes the capture end information.| 48| struct [Camera_Rect](_camera___rect.md) | Describes the rectangle.| 49| struct [Camera_MetadataObject](_camera___metadata_object.md) | Describes the camera metadata.| 50| struct [Camera_TorchStatusInfo](_camera___torch_status_info.md) | Describes the flashlight status information.| 51| struct [Camera_SmoothZoomInfo](_camera___smooth_zoom_info.md) | Describes the smooth zoom information.| 52| struct [Camera_CaptureStartInfo](_camera___capture_start_info.md) | Describes the capture start information.| 53| struct [Camera_FrameShutterEndInfo](_camera___frame_shutter_end_info.md) | Describes the frame shutter end information during capture.| 54| struct [CameraInput_Callbacks](_camera_input___callbacks.md) | Describes the callbacks used to listen for camera input errors.| 55| struct [CameraManager_Callbacks](_camera_manager___callbacks.md) | Describes the callbacks used to listen for camera status changes.| 56| struct [CaptureSession_Callbacks](_capture_session___callbacks.md) | Describes the callbacks used for a capture session.| 57| struct [MetadataOutput_Callbacks](_metadata_output___callbacks.md) | Describes the callbacks related to metadata output.| 58| struct [PhotoOutput_Callbacks](_photo_output___callbacks.md) | Describes the callbacks related to photo output.| 59| struct [PreviewOutput_Callbacks](_preview_output___callbacks.md) | Describes the callbacks related to preview output.| 60| struct [VideoOutput_Callbacks](_video_output___callbacks.md) | Describes the callbacks related to video output.| 61 62 63### Types 64 65| Name| Description| 66| -------- | -------- | 67| typedef struct [Camera_Manager](#camera_manager) [Camera_Manager](#camera_manager) | Defines a struct for the camera manager.| 68| typedef enum [Camera_ErrorCode](#camera_errorcode) [Camera_ErrorCode](#camera_errorcode) | Defines an enum for the camera error codes.| 69| typedef enum [Camera_Status](#camera_status) [Camera_Status](#camera_status) | Defines an enum for the camera statuses.| 70| typedef enum [Camera_SceneMode](#camera_scenemode) [Camera_SceneMode](#camera_scenemode) | Defines an enum for the camera scene modes.| 71| typedef enum [Camera_Position](#camera_position) [Camera_Position](#camera_position) | Defines an enum for the camera positions.| 72| typedef enum [Camera_Type](#camera_type) [Camera_Type](#camera_type) | Defines an enum for the camera types.| 73| typedef enum [Camera_Connection](#camera_connection) [Camera_Connection](#camera_connection) | Defines an enum for the camera connection types.| 74| typedef enum [Camera_Format](#camera_format) [Camera_Format](#camera_format) | Defines an enum for the camera output formats.| 75| typedef enum [Camera_FlashMode](#camera_flashmode) [Camera_FlashMode](#camera_flashmode) | Defines an enum for the flash modes.| 76| typedef enum [Camera_ExposureMode](#camera_exposuremode) [Camera_ExposureMode](#camera_exposuremode) | Defines an enum for the exposure modes.| 77| typedef enum [Camera_FocusMode](#camera_focusmode) [Camera_FocusMode](#camera_focusmode) | Defines an enum for the focus modes.| 78| typedef enum [Camera_FocusState](#camera_focusstate) [Camera_FocusState](#camera_focusstate) | Defines an enum for the focus states.| 79| typedef enum [Camera_VideoStabilizationMode](#camera_videostabilizationmode) [Camera_VideoStabilizationMode](#camera_videostabilizationmode) | Defines an enum for the video stabilization modes.| 80| typedef enum [Camera_ImageRotation](#camera_imagerotation) [Camera_ImageRotation](#camera_imagerotation) | Defines an enum for the image rotation angles.| 81| typedef enum [Camera_QualityLevel](#camera_qualitylevel) [Camera_QualityLevel](#camera_qualitylevel) | Defines an enum for the image quality levels.| 82| typedef enum [Camera_MetadataObjectType](#camera_metadataobjecttype) [Camera_MetadataObjectType](#camera_metadataobjecttype) | Defines an enum for the metadata object types.| 83| typedef enum [Camera_TorchMode](#camera_torchmode) [Camera_TorchMode](#camera_torchmode) | Defines an enum for the flashlight modes.| 84| typedef enum [Camera_SmoothZoomMode](#camera_smoothzoommode) [Camera_SmoothZoomMode](#camera_smoothzoommode) | Defines an enum for the smooth zoom modes.| 85| typedef enum [Camera_PreconfigType](#camera_preconfigtype) [Camera_PreconfigType](#camera_preconfigtype) | Defines an enum for the preconfigured resolution types.| 86| typedef enum [Camera_PreconfigRatio](#camera_preconfigratio) [Camera_PreconfigRatio](#camera_preconfigratio) | Defines an enum for the preconfigured aspect ratios.| 87| typedef struct [Camera_Size](_camera___size.md) [Camera_Size](#camera_size) | Defines a struct for the parameters related to the size.| 88| typedef struct [Camera_Profile](_camera___profile.md) [Camera_Profile](#camera_profile) | Defines a struct for the profile of a camera stream.| 89| typedef struct [Camera_FrameRateRange](_camera___frame_rate_range.md) [Camera_FrameRateRange](#camera_frameraterange) | Defines a struct for the frame rate range.| 90| typedef struct [Camera_VideoProfile](_camera___video_profile.md) [Camera_VideoProfile](#camera_videoprofile) | Defines a struct for the video profile.| 91| typedef struct [Camera_OutputCapability](_camera___output_capability.md) [Camera_OutputCapability](#camera_outputcapability) | Defines a struct for the camera output capability.| 92| typedef struct [Camera_Device](_camera___device.md) [Camera_Device](#camera_device) | Defines a struct for the camera device.| 93| typedef struct [Camera_StatusInfo](_camera___status_info.md) [Camera_StatusInfo](#camera_statusinfo) | Defines a struct for the camera status information.| 94| typedef struct [Camera_Point](_camera___point.md) [Camera_Point](#camera_point) | Defines a struct for the parameters related to a point.| 95| typedef struct [Camera_Location](_camera___location.md) [Camera_Location](#camera_location) | Defines a struct for the location where the photo is taken.| 96| typedef struct [Camera_PhotoCaptureSetting](_camera___photo_capture_setting.md) [Camera_PhotoCaptureSetting](#camera_photocapturesetting) | Defines a struct for the parameters related to photo capture.| 97| typedef struct [Camera_FrameShutterInfo](_camera___frame_shutter_info.md) [Camera_FrameShutterInfo](#camera_frameshutterinfo) | Defines a struct for the frame shutter information.| 98| typedef struct [Camera_CaptureEndInfo](_camera___capture_end_info.md) [Camera_CaptureEndInfo](#camera_captureendinfo) | Defines a struct for the capture end information.| 99| typedef struct [Camera_Rect](_camera___rect.md) [Camera_Rect](#camera_rect) | Defines a struct for the rectangle.| 100| typedef struct [Camera_MetadataObject](_camera___metadata_object.md) [Camera_MetadataObject](#camera_metadataobject) | Defines a struct for the camera metadata.| 101| typedef struct [Camera_TorchStatusInfo](_camera___torch_status_info.md) [Camera_TorchStatusInfo](#camera_torchstatusinfo) | Defines a struct for the flashlight status information.| 102| typedef struct [Camera_SmoothZoomInfo](_camera___smooth_zoom_info.md) [Camera_SmoothZoomInfo](#camera_smoothzoominfo) | Defines a struct for the smooth zoom information.| 103| typedef struct [Camera_CaptureStartInfo](_camera___capture_start_info.md) [Camera_CaptureStartInfo](#camera_capturestartinfo) | Defines a struct for the capture start information.| 104| typedef struct [Camera_FrameShutterEndInfo](_camera___frame_shutter_end_info.md) [Camera_FrameShutterEndInfo](#camera_frameshutterendinfo) | Defines a struct for the frame shutter end information during capture.| 105| typedef struct [Camera_Input](#camera_input) [Camera_Input](#camera_input) | Defines a struct for the camera input object.| 106| typedef void(\* [OH_CameraInput_OnError](#oh_camerainput_onerror)) (const [Camera_Input](#camera_input) \*cameraInput, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [CameraInput_Callbacks](_camera_input___callbacks.md) struct and used to report camera input errors.| 107| typedef struct [CameraInput_Callbacks](_camera_input___callbacks.md) [CameraInput_Callbacks](#camerainput_callbacks) | Defines a struct for the callbacks used to listen for camera input errors.| 108| typedef void(\* [OH_CameraManager_StatusCallback](#oh_cameramanager_statuscallback)) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_StatusInfo](_camera___status_info.md) \*status) | Defines the callback defined in the [CameraManager_Callbacks](_camera_manager___callbacks.md) struct and used to report the camera manager status.| 109| typedef void(\* [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback)) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_TorchStatusInfo](_camera___torch_status_info.md) \*status) | Defines the callback invoked when the flashlight status changes.| 110| typedef struct [CameraManager_Callbacks](_camera_manager___callbacks.md) [CameraManager_Callbacks](#cameramanager_callbacks) | Defines a struct for the callbacks used to listen for camera status changes.| 111| typedef struct [Camera_CaptureSession](#camera_capturesession) [Camera_CaptureSession](#camera_capturesession) | Defines a struct for the capture session object.| 112| typedef void(\* [OH_CaptureSession_OnFocusStateChange](#oh_capturesession_onfocusstatechange)) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FocusState](#camera_focusstate) focusState) | Defines the callback defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct and used to report focus status changes of a capture session.| 113| typedef void(\* [OH_CaptureSession_OnError](#oh_capturesession_onerror)) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct and used to report capture session errors.| 114| typedef void(\* [OH_CaptureSession_OnSmoothZoomInfo](#oh_capturesession_onsmoothzoominfo)) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_SmoothZoomInfo](_camera___smooth_zoom_info.md) \*smoothZoomInfo) | Defines the callback invoked when smooth zoom is triggered for a capture session.| 115| typedef struct [CaptureSession_Callbacks](_capture_session___callbacks.md) [CaptureSession_Callbacks](#capturesession_callbacks) | Defines a struct for the callbacks used for a capture session.| 116| typedef struct [Camera_MetadataOutput](#camera_metadataoutput) [Camera_MetadataOutput](#camera_metadataoutput) | Defines a struct for the metadata output object.| 117| typedef void(\* [OH_MetadataOutput_OnMetadataObjectAvailable](#oh_metadataoutput_onmetadataobjectavailable)) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput, [Camera_MetadataObject](_camera___metadata_object.md) \*metadataObject, uint32_t size) | Defines the callback defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct and used to report metadata output data.| 118| typedef void(\* [OH_MetadataOutput_OnError](#oh_metadataoutput_onerror)) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct and used to report metadata output errors.| 119| typedef struct [MetadataOutput_Callbacks](_metadata_output___callbacks.md) [MetadataOutput_Callbacks](#metadataoutput_callbacks) | Defines a struct for the callbacks related to metadata output.| 120| typedef struct [OH_PhotoNative](#oh_photonative) [OH_PhotoNative](#oh_photonative) | Defines a struct for a camera photo object.| 121| typedef struct [Camera_PhotoOutput](#camera_photooutput) [Camera_PhotoOutput](#camera_photooutput) | Defines a struct for the photo output object.| 122| typedef void(\* [OH_PhotoOutput_OnFrameStart](#oh_photooutput_onframestart)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output frame start events.| 123| typedef void(\* [OH_PhotoOutput_OnFrameShutter](#oh_photooutput_onframeshutter)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_FrameShutterInfo](_camera___frame_shutter_info.md) \*info) | Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report frame shutter events.| 124| typedef void(\* [OH_PhotoOutput_OnFrameEnd](#oh_photooutput_onframeend)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, int32_t frameCount) | Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output frame end events.| 125| typedef void(\* [OH_PhotoOutput_OnError](#oh_photooutput_onerror)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output errors.| 126| typedef void(\* [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, int32_t frameCount) | Defines the callback invoked when the capture ends.| 127| typedef void(\* [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_CaptureStartInfo](_camera___capture_start_info.md) \*Info) | Defines the callback invoked when the capture starts.| 128| typedef void(\* [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_FrameShutterInfo](_camera___frame_shutter_info.md) \*Info) | Defines the callback invoked when frame shutter ends.| 129| typedef void(\* [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Defines the callback invoked when the camera is ready to take photos. When the callback is received, the next capture can be performed.| 130| typedef void(\* [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, int64_t duration) | Defines the callback for the estimated capture duration.| 131| typedef void(\* [OH_PhotoOutput_PhotoAvailable](#oh_photooutput_photoavailable)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoNative](#oh_photonative) \*photo) | Defines the callback invoked when a high-resolution photo is available.| 132| typedef void(\* [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, OH_MediaAsset \*photoAsset) | Defines the callback invoked when a photo asset is available.| 133| typedef struct [PhotoOutput_Callbacks](_photo_output___callbacks.md) [PhotoOutput_Callbacks](#photooutput_callbacks) | Defines a struct for the callbacks related to photo output.| 134| typedef struct [Camera_PreviewOutput](#camera_previewoutput) [Camera_PreviewOutput](#camera_previewoutput) | Defines a struct for the preview output object.| 135| typedef void(\* [OH_PreviewOutput_OnFrameStart](#oh_previewoutput_onframestart)) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used to report preview output frame start events.| 136| typedef void(\* [OH_PreviewOutput_OnFrameEnd](#oh_previewoutput_onframeend)) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, int32_t frameCount) | Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used to report preview output frame end events.| 137| typedef void(\* [OH_PreviewOutput_OnError](#oh_previewoutput_onerror)) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used to report preview output errors.| 138| typedef struct [PreviewOutput_Callbacks](_preview_output___callbacks.md) [PreviewOutput_Callbacks](#previewoutput_callbacks) | Defines a struct for the callbacks related to preview output.| 139| typedef struct [Camera_VideoOutput](#camera_videooutput) [Camera_VideoOutput](#camera_videooutput) | Defines a struct for the video output object.| 140| typedef void(\* [OH_VideoOutput_OnFrameStart](#oh_videooutput_onframestart)) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output frame start events.| 141| typedef void(\* [OH_VideoOutput_OnFrameEnd](#oh_videooutput_onframeend)) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, int32_t frameCount) | Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output frame end events.| 142| typedef void(\* [OH_VideoOutput_OnError](#oh_videooutput_onerror)) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output errors.| 143| typedef struct [VideoOutput_Callbacks](_video_output___callbacks.md) [VideoOutput_Callbacks](#videooutput_callbacks) | Defines a struct for the callbacks related to video output.| 144 145 146### Enums 147 148| Name| Description| 149| -------- | -------- | 150| [Camera_ErrorCode](#camera_errorcode) {<br>CAMERA_OK = 0,<br>CAMERA_INVALID_ARGUMENT = 7400101,<br>CAMERA_OPERATION_NOT_ALLOWED = 7400102,<br>CAMERA_SESSION_NOT_CONFIG = 7400103,<br>CAMERA_SESSION_NOT_RUNNING = 7400104,<br>CAMERA_SESSION_CONFIG_LOCKED = 7400105,<br>CAMERA_DEVICE_SETTING_LOCKED = 7400106,<br>CAMERA_CONFLICT_CAMERA = 7400107,<br>CAMERA_DEVICE_DISABLED = 7400108,<br>CAMERA_DEVICE_PREEMPTED = 7400109,<br>CAMERA_UNRESOLVED_CONFLICTS_WITH_CURRENT_CONFIGURATIONS = 7400110,<br>CAMERA_SERVICE_FATAL_ERROR = 7400201} | Enumerates the camera error codes.| 151| [Camera_Status](#camera_status) {<br>CAMERA_STATUS_APPEAR = 0,<br>CAMERA_STATUS_DISAPPEAR = 1,<br>CAMERA_STATUS_AVAILABLE = 2,<br>CAMERA_STATUS_UNAVAILABLE = 3 } | Enumerates the camera statuses.| 152| [Camera_SceneMode](#camera_scenemode) {<br>NORMAL_PHOTO = 1,<br>NORMAL_VIDEO = 2,<br>SECURE_PHOTO = 12 } | Enumerates the camera scene modes.| 153| [Camera_Position](#camera_position) {<br>CAMERA_POSITION_UNSPECIFIED = 0,<br>CAMERA_POSITION_BACK = 1,<br>CAMERA_POSITION_FRONT = 2 } | Enumerates the camera positions.| 154| [Camera_Type](#camera_type) {<br>CAMERA_TYPE_DEFAULT = 0,<br>CAMERA_TYPE_WIDE_ANGLE = 1,<br>CAMERA_TYPE_ULTRA_WIDE = 2,<br>CAMERA_TYPE_TELEPHOTO = 3,<br>CAMERA_TYPE_TRUE_DEPTH = 4<br>} | Enumerates the camera types.| 155| [Camera_Connection](#camera_connection) {<br>CAMERA_CONNECTION_BUILT_IN = 0,<br>CAMERA_CONNECTION_USB_PLUGIN = 1,<br>CAMERA_CONNECTION_REMOTE = 2 } | Enumerates the camera connection types.| 156| [Camera_Format](#camera_format) {<br>CAMERA_FORMAT_RGBA_8888 = 3,<br>CAMERA_FORMAT_YUV_420_SP = 1003,<br>CAMERA_FORMAT_JPEG = 2000,<br>CAMERA_FORMAT_YCBCR_P010 = 2001,<br>CAMERA_FORMAT_YCRCB_P010 = 2002<br>} | Enumerates the camera output formats.| 157| [Camera_FlashMode](#camera_flashmode) {<br>FLASH_MODE_CLOSE = 0,<br>FLASH_MODE_OPEN = 1,<br>FLASH_MODE_AUTO = 2,<br>FLASH_MODE_ALWAYS_OPEN = 3 } | Enumerates the flash modes.| 158| [Camera_ExposureMode](#camera_exposuremode) {<br>EXPOSURE_MODE_LOCKED = 0,<br>EXPOSURE_MODE_AUTO = 1,<br>EXPOSURE_MODE_CONTINUOUS_AUTO = 2 } | Enumerates the exposure modes.| 159| [Camera_FocusMode](#camera_focusmode) {<br>FOCUS_MODE_MANUAL = 0,<br>FOCUS_MODE_CONTINUOUS_AUTO = 1,<br>FOCUS_MODE_AUTO = 2,<br>FOCUS_MODE_LOCKED = 3 } | Enumerates the focus modes.| 160| [Camera_FocusState](#camera_focusstate) {<br>FOCUS_STATE_SCAN = 0,<br>FOCUS_STATE_FOCUSED = 1,<br>FOCUS_STATE_UNFOCUSED = 2 } | Enumerates the focus states.| 161| [Camera_VideoStabilizationMode](#camera_videostabilizationmode) {<br>STABILIZATION_MODE_OFF = 0,<br>STABILIZATION_MODE_LOW = 1,<br>STABILIZATION_MODE_MIDDLE = 2,<br>STABILIZATION_MODE_HIGH = 3,<br>STABILIZATION_MODE_AUTO = 4<br>} | Enumerates the video stabilization modes.| 162| [Camera_ImageRotation](#camera_imagerotation) {<br>IAMGE_ROTATION_0 = 0,<br>IAMGE_ROTATION_90 = 90,<br>IAMGE_ROTATION_180 = 180,<br>IAMGE_ROTATION_270 = 270 } | Enumerates the image rotation angles.| 163| [Camera_QualityLevel](#camera_qualitylevel) {<br>QUALITY_LEVEL_HIGH = 0,<br>QUALITY_LEVEL_MEDIUM = 1,<br>QUALITY_LEVEL_LOW = 2 } | Enumerates the image quality levels.| 164| [Camera_MetadataObjectType](#camera_metadataobjecttype) { FACE_DETECTION = 0 } | Enumerates the metadata object types.| 165| [Camera_TorchMode](#camera_torchmode) { OFF = 0, ON = 1, AUTO = 2 } | Enumerates the flashlight modes.| 166| [Camera_SmoothZoomMode](#camera_smoothzoommode) { NORMAL = 0 } | Enumerates the smooth zoom modes.| 167| [Camera_PreconfigType](#camera_preconfigtype) {<br>PRECONFIG_720P = 0,<br>PRECONFIG_1080P = 1,<br>PRECONFIG_4K = 2,<br>PRECONFIG_HIGH_QUALITY = 3 } | Enumerates the preconfigured resolution types.| 168| [Camera_PreconfigRatio](#camera_preconfigratio) {<br>PRECONFIG_RATIO_1_1 = 0,<br>PRECONFIG_RATIO_4_3 = 1,<br>PRECONFIG_RATIO_16_9 = 2 } | Enumerates the preconfigured aspect ratios.| 169 170 171### Functions 172 173| Name| Description| 174| -------- | -------- | 175| [Camera_ErrorCode](#camera_errorcode) [OH_Camera_GetCameraManager](#oh_camera_getcameramanager) ([Camera_Manager](#camera_manager) \*\*cameraManager) | Obtains a **CameraManager** instance.| 176| [Camera_ErrorCode](#camera_errorcode) [OH_Camera_DeleteCameraManager](#oh_camera_deletecameramanager) ([Camera_Manager](#camera_manager) \*cameraManager) | Deletes a **CameraManager** instance.| 177| [Camera_ErrorCode](#camera_errorcode) [OH_CameraDevice_GetCameraOrientation](#oh_cameradevice_getcameraorientation) ([Camera_Device](_camera___device.md) \*camera, uint32_t \*orientation) | Obtains the sensor direction of a camera.| 178| [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_RegisterCallback](#oh_camerainput_registercallback) ([Camera_Input](#camera_input) \*cameraInput, [CameraInput_Callbacks](_camera_input___callbacks.md) \*callback) | Registers a callback to listen for camera input events.| 179| [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_UnregisterCallback](#oh_camerainput_unregistercallback) ([Camera_Input](#camera_input) \*cameraInput, [CameraInput_Callbacks](_camera_input___callbacks.md) \*callback) | Unregisters the callback used to listen for camera input events.| 180| [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_Open](#oh_camerainput_open) ([Camera_Input](#camera_input) \*cameraInput) | Opens a camera.| 181| [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_OpenSecureCamera](#oh_camerainput_opensecurecamera) ([Camera_Input](#camera_input) \*cameraInput, uint64_t \*secureSeqId) | Opens a camera in secure mode.| 182| [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_Close](#oh_camerainput_close) ([Camera_Input](#camera_input) \*cameraInput) | Closes a camera.| 183| [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_Release](#oh_camerainput_release) ([Camera_Input](#camera_input) \*cameraInput) | Releases a **CameraInput** instance. Either this function or [OH_CameraInput_Close](#oh_camerainput_close) needs to be called.| 184| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_RegisterCallback](#oh_cameramanager_registercallback) ([Camera_Manager](#camera_manager) \*cameraManager, [CameraManager_Callbacks](_camera_manager___callbacks.md) \*callback) | Registers a callback to listen for camera status changes.| 185| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_UnregisterCallback](#oh_cameramanager_unregistercallback) ([Camera_Manager](#camera_manager) \*cameraManager, [CameraManager_Callbacks](_camera_manager___callbacks.md) \*callback) | Unregisters the callback used to listen for camera status changes.| 186| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_RegisterTorchStatusCallback](#oh_cameramanager_registertorchstatuscallback) ([Camera_Manager](#camera_manager) \*cameraManager, [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback) torchStatusCallback) | Registers a callback to listen for flashlight status changes.| 187| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_UnregisterTorchStatusCallback](#oh_cameramanager_unregistertorchstatuscallback) ([Camera_Manager](#camera_manager) \*cameraManager, [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback) torchStatusCallback) | Unregisters the callback used to listen for flashlight status changes.| 188| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_GetSupportedCameras](#oh_cameramanager_getsupportedcameras) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_Device](_camera___device.md) \*\*cameras, uint32_t \*size) | Obtains supported cameras.| 189| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_DeleteSupportedCameras](#oh_cameramanager_deletesupportedcameras) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_Device](_camera___device.md) \*cameras, uint32_t size) | Deletes supported cameras.| 190| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_GetSupportedCameraOutputCapability](#oh_cameramanager_getsupportedcameraoutputcapability) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Device](_camera___device.md) \*camera, [Camera_OutputCapability](_camera___output_capability.md) \*\*cameraOutputCapability) | Obtains the output capability supported by a camera.| 191| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_GetSupportedCameraOutputCapabilityWithSceneMode](#oh_cameramanager_getsupportedcameraoutputcapabilitywithscenemode) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Device](_camera___device.md) \*camera, [Camera_SceneMode](#camera_scenemode) sceneMode, [Camera_OutputCapability](_camera___output_capability.md) \*\*cameraOutputCapability) | Obtains the output capability supported by a camera in the specified mode.| 192| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_DeleteSupportedCameraOutputCapability](#oh_cameramanager_deletesupportedcameraoutputcapability) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_OutputCapability](_camera___output_capability.md) \*cameraOutputCapability) | Deletes the output capability supported by a camera.| 193| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_IsCameraMuted](#oh_cameramanager_iscameramuted) ([Camera_Manager](#camera_manager) \*cameraManager, bool \*isCameraMuted) | Checks whether a camera is muted.| 194| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateCaptureSession](#oh_cameramanager_createcapturesession) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_CaptureSession](#camera_capturesession) \*\*captureSession) | Creates a **CaptureSession** instance.| 195| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateCameraInput](#oh_cameramanager_createcamerainput) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Device](_camera___device.md) \*camera, [Camera_Input](#camera_input) \*\*cameraInput) | Creates a **CameraInput** instance.| 196| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateCameraInput_WithPositionAndType](#oh_cameramanager_createcamerainput_withpositionandtype) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_Position](#camera_position) position, [Camera_Type](#camera_type) type, [Camera_Input](#camera_input) \*\*cameraInput) | Creates a **CameraInput** instance with the specified location and type.| 197| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreatePreviewOutput](#oh_cameramanager_createpreviewoutput) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Profile](_camera___profile.md) \*profile, const char \*surfaceId, [Camera_PreviewOutput](#camera_previewoutput) \*\*previewOutput) | Creates a **PreviewOutput** instance.| 198| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreatePreviewOutputUsedInPreconfig](#oh_cameramanager_createpreviewoutputusedinpreconfig) ([Camera_Manager](#camera_manager) \*cameraManager, const char \*surfaceId, [Camera_PreviewOutput](#camera_previewoutput) \*\*previewOutput) | Creates a **PreviewOutput** instance to be used in a preconfiguration stream.| 199| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreatePhotoOutput](#oh_cameramanager_createphotooutput) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Profile](_camera___profile.md) \*profile, const char \*surfaceId, [Camera_PhotoOutput](#camera_photooutput) \*\*photoOutput) | Creates a **PhotoOutput** instance.| 200| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreatePhotoOutputUsedInPreconfig](#oh_cameramanager_createphotooutputusedinpreconfig) ([Camera_Manager](#camera_manager) \*cameraManager, const char \*surfaceId, [Camera_PhotoOutput](#camera_photooutput) \*\*photoOutput) | Creates a **PhotoOutput** instance to be used in a preconfiguration stream.| 201| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreatePhotoOutputWithoutSurface](#oh_cameramanager_createphotooutputwithoutsurface) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Profile](_camera___profile.md) \*profile, [Camera_PhotoOutput](#camera_photooutput) \*\*photoOutput) | Creates a **PhotoOutput** instance. **surfaceId** is not required in this function.| 202| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateVideoOutput](#oh_cameramanager_createvideooutput) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_VideoProfile](_camera___video_profile.md) \*profile, const char \*surfaceId, [Camera_VideoOutput](#camera_videooutput) \*\*videoOutput) | Creates a **VideoOutput** instance.| 203| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateVideoOutputUsedInPreconfig](#oh_cameramanager_createvideooutputusedinpreconfig) ([Camera_Manager](#camera_manager) \*cameraManager, const char \*surfaceId, [Camera_VideoOutput](#camera_videooutput) \*\*videoOutput) | Creates a **VideoOutput** instance to be used in a preconfiguration stream.| 204| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateMetadataOutput](#oh_cameramanager_createmetadataoutput) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_MetadataObjectType](#camera_metadataobjecttype) \*profile, [Camera_MetadataOutput](#camera_metadataoutput) \*\*metadataOutput) | Creates a **MetadataOutput** instance.| 205| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_GetSupportedSceneModes](#oh_cameramanager_getsupportedscenemodes) ([Camera_Device](_camera___device.md) \*camera, [Camera_SceneMode](#camera_scenemode) \*\*sceneModes, uint32_t \*size) | Obtains the scene modes supported by a camera.| 206| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_DeleteSceneModes](#oh_cameramanager_deletescenemodes) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_SceneMode](#camera_scenemode) \*sceneModes) | Deletes scene modes.| 207| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_IsTorchSupported](#oh_cameramanager_istorchsupported) ([Camera_Manager](#camera_manager) \*cameraManager, bool \*isTorchSupported) | Checks whether the device supports the flashlight.| 208| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_IsTorchSupportedByTorchMode](#oh_cameramanager_istorchsupportedbytorchmode) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_TorchMode](#camera_torchmode) torchMode, bool \*isTorchSupported) | Checks whether the device supports the specified flashlight mode.| 209| [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_SetTorchMode](#oh_cameramanager_settorchmode) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_TorchMode](#camera_torchmode) torchMode) | Sets a flashlight mode.| 210| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RegisterCallback](#oh_capturesession_registercallback) ([Camera_CaptureSession](#camera_capturesession) \*session, [CaptureSession_Callbacks](_capture_session___callbacks.md) \*callback) | Registers a callback to listen for capture session events.| 211| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_UnregisterCallback](#oh_capturesession_unregistercallback) ([Camera_CaptureSession](#camera_capturesession) \*session, [CaptureSession_Callbacks](_capture_session___callbacks.md) \*callback) | Unregisters the callback used to listen for capture session events.| 212| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RegisterSmoothZoomInfoCallback](#oh_capturesession_registersmoothzoominfocallback) ([Camera_CaptureSession](#camera_capturesession) \*session, [OH_CaptureSession_OnSmoothZoomInfo](#oh_capturesession_onsmoothzoominfo) smoothZoomInfoCallback) | Registers a callback to listen for smooth zoom events.| 213| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_UnregisterSmoothZoomInfoCallback](#oh_capturesession_unregistersmoothzoominfocallback) ([Camera_CaptureSession](#camera_capturesession) \*session, [OH_CaptureSession_OnSmoothZoomInfo](#oh_capturesession_onsmoothzoominfo) smoothZoomInfoCallback) | Unregisters the callback used to listen for smooth zoom events.| 214| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetSessionMode](#oh_capturesession_setsessionmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_SceneMode](#camera_scenemode) sceneMode) | Sets a session mode.| 215| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddSecureOutput](#oh_capturesession_addsecureoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Marks a preview output stream as secure output.| 216| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_BeginConfig](#oh_capturesession_beginconfig) ([Camera_CaptureSession](#camera_capturesession) \*session) | Starts the configuration for a capture session.| 217| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CommitConfig](#oh_capturesession_commitconfig) ([Camera_CaptureSession](#camera_capturesession) \*session) | Commits the configuration for a capture session.| 218| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddInput](#oh_capturesession_addinput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Input](#camera_input) \*cameraInput) | Adds a **CameraInput** instance to a session.| 219| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RemoveInput](#oh_capturesession_removeinput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Input](#camera_input) \*cameraInput) | Removes a **CameraInput** instance from a session.| 220| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddPreviewOutput](#oh_capturesession_addpreviewoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Adds a **PreviewOutput** instance to a session.| 221| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RemovePreviewOutput](#oh_capturesession_removepreviewoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Removes a **PreviewOutput** instance from a session.| 222| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddPhotoOutput](#oh_capturesession_addphotooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Adds a **PhotoOutput** instance to a session.| 223| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RemovePhotoOutput](#oh_capturesession_removephotooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Removes a **PhotoOutput** instance from a session.| 224| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddVideoOutput](#oh_capturesession_addvideooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Adds a **VideoOutput** instance to a session.| 225| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RemoveVideoOutput](#oh_capturesession_removevideooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Removes a **VideoOutput** instance from a session.| 226| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddMetadataOutput](#oh_capturesession_addmetadataoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput) | Adds a **MetadataOutput** instance to a session.| 227| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RemoveMetadataOutput](#oh_capturesession_removemetadataoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput) | Removes a **MetadataOutput** instance from a session.| 228| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_Start](#oh_capturesession_start) ([Camera_CaptureSession](#camera_capturesession) \*session) | Starts a capture session.| 229| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_Stop](#oh_capturesession_stop) ([Camera_CaptureSession](#camera_capturesession) \*session) | Stops a capture session.| 230| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_Release](#oh_capturesession_release) ([Camera_CaptureSession](#camera_capturesession) \*session) | Releases a **CaptureSession** instance.| 231| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_HasFlash](#oh_capturesession_hasflash) ([Camera_CaptureSession](#camera_capturesession) \*session, bool \*hasFlash) | Checks whether the device has flash.| 232| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_IsFlashModeSupported](#oh_capturesession_isflashmodesupported) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FlashMode](#camera_flashmode) flashMode, bool \*isSupported) | Checks whether a flash mode is supported.| 233| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetFlashMode](#oh_capturesession_getflashmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FlashMode](#camera_flashmode) \*flashMode) | Obtains the flash mode in use.| 234| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetFlashMode](#oh_capturesession_setflashmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FlashMode](#camera_flashmode) flashMode) | Sets a flash mode for the device.| 235| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_IsExposureModeSupported](#oh_capturesession_isexposuremodesupported) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_ExposureMode](#camera_exposuremode) exposureMode, bool \*isSupported) | Checks whether an exposure mode is supported.| 236| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetExposureMode](#oh_capturesession_getexposuremode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_ExposureMode](#camera_exposuremode) \*exposureMode) | Obtains the exposure mode in use.| 237| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetExposureMode](#oh_capturesession_setexposuremode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_ExposureMode](#camera_exposuremode) exposureMode) | Sets an exposure mode for the device.| 238| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetMeteringPoint](#oh_capturesession_getmeteringpoint) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Point](_camera___point.md) \*point) | Obtains the metering point in use.| 239| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetMeteringPoint](#oh_capturesession_setmeteringpoint) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Point](_camera___point.md) point) | Sets the metering point, which is the center point of the metering rectangle.| 240| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetExposureBiasRange](#oh_capturesession_getexposurebiasrange) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*minExposureBias, float \*maxExposureBias, float \*step) | Obtains the exposure compensation values of the device.| 241| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetExposureBias](#oh_capturesession_setexposurebias) ([Camera_CaptureSession](#camera_capturesession) \*session, float exposureBias) | Sets an exposure compensation value for the device.| 242| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetExposureBias](#oh_capturesession_getexposurebias) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*exposureBias) | Obtains the exposure compensation value in use.| 243| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_IsFocusModeSupported](#oh_capturesession_isfocusmodesupported) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FocusMode](#camera_focusmode) focusMode, bool \*isSupported) | Checks whether a focus mode is supported.| 244| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetFocusMode](#oh_capturesession_getfocusmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FocusMode](#camera_focusmode) \*focusMode) | Obtains the focus mode in use.| 245| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetFocusMode](#oh_capturesession_setfocusmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FocusMode](#camera_focusmode) focusMode) | Sets a focus mode for the device.| 246| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetFocusPoint](#oh_capturesession_getfocuspoint) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Point](_camera___point.md) \*focusPoint) | Obtains the focal point in use.| 247| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetFocusPoint](#oh_capturesession_setfocuspoint) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Point](_camera___point.md) focusPoint) | Sets a focal point for the device.| 248| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetZoomRatioRange](#oh_capturesession_getzoomratiorange) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*minZoom, float \*maxZoom) | Obtains the supported zoom ratio range.| 249| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetZoomRatio](#oh_capturesession_getzoomratio) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*zoom) | Obtains the zoom ratio in use.| 250| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetZoomRatio](#oh_capturesession_setzoomratio) ([Camera_CaptureSession](#camera_capturesession) \*session, float zoom) | Sets a zoom ratio for the device.| 251| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_IsVideoStabilizationModeSupported](#oh_capturesession_isvideostabilizationmodesupported) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoStabilizationMode](#camera_videostabilizationmode) mode, bool \*isSupported) | Checks whether a video stabilization mode is supported. | 252| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetVideoStabilizationMode](#oh_capturesession_getvideostabilizationmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoStabilizationMode](#camera_videostabilizationmode) \*mode) | Obtains the video stabilization mode in use.| 253| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetVideoStabilizationMode](#oh_capturesession_setvideostabilizationmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoStabilizationMode](#camera_videostabilizationmode) mode) | Sets a video stabilization mode for the device.| 254| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanAddInput](#oh_capturesession_canaddinput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Input](#camera_input) \*cameraInput, bool \*isSuccessful) | Checks whether a **CameraInput** instance can be added to a session.| 255| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanAddPreviewOutput](#oh_capturesession_canaddpreviewoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreviewOutput](#camera_previewoutput) \*cameraOutput, bool \*isSuccessful) | Checks whether a **PreviewOutput** instance can be added to a session.| 256| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanAddPhotoOutput](#oh_capturesession_canaddphotooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PhotoOutput](#camera_photooutput) \*cameraOutput, bool \*isSuccessful) | Checks whether a **PhotoOutput** instance can be added to a session.| 257| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanAddVideoOutput](#oh_capturesession_canaddvideooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoOutput](#camera_videooutput) \*cameraOutput, bool \*isSuccessful) | Checks whether a **VideoOutput** instance can be added to a session.| 258| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanPreconfig](#oh_capturesession_canpreconfig) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreconfigType](#camera_preconfigtype) preconfigType, bool \*canPreconfig) | Checks whether a preconfigured resolution type is supported.| 259| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanPreconfigWithRatio](#oh_capturesession_canpreconfigwithratio) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreconfigType](#camera_preconfigtype) preconfigType, [Camera_PreconfigRatio](#camera_preconfigratio) preconfigRatio, bool \*canPreconfig) | Checks whether a preconfigured resolution type with an aspect ratio is supported.| 260| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_Preconfig](#oh_capturesession_preconfig) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreconfigType](#camera_preconfigtype) preconfigType) | Sets a preconfigured resolution type.| 261| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_PreconfigWithRatio](#oh_capturesession_preconfigwithratio) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreconfigType](#camera_preconfigtype) preconfigType, [Camera_PreconfigRatio](#camera_preconfigratio) preconfigRatio) | Sets a preconfigured resolution type with an aspect ratio.| 262| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetExposureValue](#oh_capturesession_getexposurevalue) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*exposureValue) | Obtains the exposure value.| 263| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetFocalLength](#oh_capturesession_getfocallength) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*focalLength) | Obtains the current focal length.| 264| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetSmoothZoom](#oh_capturesession_setsmoothzoom) ([Camera_CaptureSession](#camera_capturesession) \*session, float targetZoom, [Camera_SmoothZoomMode](#camera_smoothzoommode) smoothZoomMode) | Sets smooth zoom.| 265| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetSupportedColorSpaces](#oh_capturesession_getsupportedcolorspaces) ([Camera_CaptureSession](#camera_capturesession) \*session, OH_NativeBuffer_ColorSpace \*\*colorSpace, uint32_t \*size) | Obtains the supported color spaces.| 266| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_DeleteColorSpaces](#oh_capturesession_deletecolorspaces) ([Camera_CaptureSession](#camera_capturesession) \*session, OH_NativeBuffer_ColorSpace \*colorSpace) | Deletes color spaces.| 267| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetActiveColorSpace](#oh_capturesession_getactivecolorspace) ([Camera_CaptureSession](#camera_capturesession) \*session, OH_NativeBuffer_ColorSpace \*colorSpace) | Obtains the active color space.| 268| [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetActiveColorSpace](#oh_capturesession_setactivecolorspace) ([Camera_CaptureSession](#camera_capturesession) \*session, OH_NativeBuffer_ColorSpace colorSpace) | Sets the active color space.| 269| [Camera_ErrorCode](#camera_errorcode) [OH_MetadataOutput_RegisterCallback](#oh_metadataoutput_registercallback) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput, [MetadataOutput_Callbacks](_metadata_output___callbacks.md) \*callback) | Registers a callback to listen for metadata output events.| 270| [Camera_ErrorCode](#camera_errorcode) [OH_MetadataOutput_UnregisterCallback](#oh_metadataoutput_unregistercallback) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput, [MetadataOutput_Callbacks](_metadata_output___callbacks.md) \*callback) | Unregisters the callback used to listen for metadata output events.| 271| [Camera_ErrorCode](#camera_errorcode) [OH_MetadataOutput_Start](#oh_metadataoutput_start) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput) | Starts metadata output.| 272| [Camera_ErrorCode](#camera_errorcode) [OH_MetadataOutput_Stop](#oh_metadataoutput_stop) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput) | Stops metadata output.| 273| [Camera_ErrorCode](#camera_errorcode) [OH_MetadataOutput_Release](#oh_metadataoutput_release) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput) | Releases a **MetadataOutput** instance.| 274| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoNative_GetMainImage](#oh_photonative_getmainimage) ([OH_PhotoNative](#oh_photonative) \*photo, OH_ImageNative \*\*mainImage) | Obtains a full quality photo.| 275| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoNative_Release](#oh_photonative_release) ([OH_PhotoNative](#oh_photonative) \*photo) | Releases a full quality photo.| 276| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterCallback](#oh_photooutput_registercallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [PhotoOutput_Callbacks](_photo_output___callbacks.md) \*callback) | Registers a callback to listen for photo output events.| 277| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterCallback](#oh_photooutput_unregistercallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [PhotoOutput_Callbacks](_photo_output___callbacks.md) \*callback) | Unregisters the callback used to listen for photo output events.| 278| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterCaptureStartWithInfoCallback](#oh_photooutput_registercapturestartwithinfocallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo) callback) | Registers a callback to listen for capture start events.| 279| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback](#oh_photooutput_unregistercapturestartwithinfocallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo) callback) | Unregisters the callback used to listen for capture start events.| 280| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterCaptureEndCallback](#oh_photooutput_registercaptureendcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend) callback) | Registers a callback to listen for capture end events.| 281| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterCaptureEndCallback](#oh_photooutput_unregistercaptureendcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend) callback) | Unregisters the callback used to listen for capture end events.| 282| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterFrameShutterEndCallback](#oh_photooutput_registerframeshutterendcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend) callback) | Registers a callback to listen for frame shutter end events.| 283| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterFrameShutterEndCallback](#oh_photooutput_unregisterframeshutterendcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend) callback) | Unregisters the callback used to listen for frame shutter end events.| 284| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterCaptureReadyCallback](#oh_photooutput_registercapturereadycallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready) callback) | Registers a callback to listen for camera ready events. When the callback is received, the next capture can be performed.| 285| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterCaptureReadyCallback](#oh_photooutput_unregistercapturereadycallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready) callback) | Unregisters the callback used to listen for camera ready events.| 286| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback](#oh_photooutput_registerestimatedcapturedurationcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration) callback) | Registers a callback to listen for estimated capture duration events.| 287| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback](#oh_photooutput_unregisterestimatedcapturedurationcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration) callback) | Unregisters the callback used to listen for estimated capture duration events.| 288| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterPhotoAvailableCallback](#oh_photooutput_registerphotoavailablecallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_PhotoAvailable](#oh_photooutput_photoavailable) callback) | Registers a callback to listen for photo availability events.| 289| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterPhotoAvailableCallback](#oh_photooutput_unregisterphotoavailablecallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_PhotoAvailable](#oh_photooutput_photoavailable) callback) | Unregisters the callback used to listen for photo availability events.| 290| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterPhotoAssetAvailableCallback](#oh_photooutput_registerphotoassetavailablecallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable) callback) | Registers a callback to listen for photo asset availability events.| 291| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback](#oh_photooutput_unregisterphotoassetavailablecallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable) callback) | Unregisters the callback used to listen for photo asset availability events.| 292| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_Capture](#oh_photooutput_capture) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Captures a photo.| 293| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_Capture_WithCaptureSetting](#oh_photooutput_capture_withcapturesetting) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_PhotoCaptureSetting](_camera___photo_capture_setting.md) setting) | Captures a photo with photographing parameters.| 294| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_Release](#oh_photooutput_release) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Releases a **PhotoOutput** instance.| 295| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_IsMirrorSupported](#oh_photooutput_ismirrorsupported) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, bool \*isSupported) | Checks whether mirroring is supported.| 296| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_GetActiveProfile](#oh_photooutput_getactiveprofile) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_Profile](_camera___profile.md) \*\*profile) | Obtains the profile of a **PhotoOutput** instance.| 297| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_DeleteProfile](#oh_photooutput_deleteprofile) ([Camera_Profile](_camera___profile.md) \*profile) | Deletes the profile of this **PhotoOutput** instance.| 298| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_IsMovingPhotoSupported](#oh_photooutput_ismovingphotosupported) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, bool \*isSupported) | Checks whether moving photos are supported.| 299| [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_EnableMovingPhoto](#oh_photooutput_enablemovingphoto) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, bool enabled) | Enables moving photos.| 300| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_RegisterCallback](#oh_previewoutput_registercallback) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [PreviewOutput_Callbacks](_preview_output___callbacks.md) \*callback) | Registers a callback to listen for preview output events.| 301| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_UnregisterCallback](#oh_previewoutput_unregistercallback) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [PreviewOutput_Callbacks](_preview_output___callbacks.md) \*callback) | Unregisters the callback used to listen for preview output events.| 302| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_Start](#oh_previewoutput_start) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Starts preview output.| 303| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_Stop](#oh_previewoutput_stop) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Stops preview output.| 304| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_Release](#oh_previewoutput_release) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Releases a **PreviewOutput** instance.| 305| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_GetActiveProfile](#oh_previewoutput_getactiveprofile) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [Camera_Profile](_camera___profile.md) \*\*profile) | Obtains the profile of a **PreviewOutput** instance.| 306| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_DeleteProfile](#oh_previewoutput_deleteprofile) ([Camera_Profile](_camera___profile.md) \*profile) | Deletes the profile of this **PreviewOutput** instance.| 307| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_GetSupportedFrameRates](#oh_previewoutput_getsupportedframerates) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*\*frameRateRange, uint32_t \*size) | Obtains the list of frame rates supported by a **PreviewOutput** instance.| 308| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_DeleteFrameRates](#oh_previewoutput_deleteframerates) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*frameRateRange) | Deletes the frame rate list.| 309| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_SetFrameRate](#oh_previewoutput_setframerate) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, int32_t minFps, int32_t maxFps) | Sets the frame rates for a **PreviewOutput** instance.| 310| [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_GetActiveFrameRate](#oh_previewoutput_getactiveframerate) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*frameRateRange) | Obtains the active frame rates of a **PreviewOutput** instance.| 311| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_RegisterCallback](#oh_videooutput_registercallback) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [VideoOutput_Callbacks](_video_output___callbacks.md) \*callback) | Registers a callback to listen for video output events.| 312| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_UnregisterCallback](#oh_videooutput_unregistercallback) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [VideoOutput_Callbacks](_video_output___callbacks.md) \*callback) | Unregisters the callback used to listen for video output events.| 313| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_Start](#oh_videooutput_start) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Starts video output.| 314| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_Stop](#oh_videooutput_stop) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Stops video output.| 315| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_Release](#oh_videooutput_release) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Releases a **VideoOutput** instance.| 316| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_GetActiveProfile](#oh_videooutput_getactiveprofile) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [Camera_VideoProfile](_camera___video_profile.md) \*\*profile) | Obtains the profile of a **VideoOutput** instance.| 317| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_DeleteProfile](#oh_videooutput_deleteprofile) ([Camera_VideoProfile](_camera___video_profile.md) \*profile) | Deletes the profile of this **VideoOutput** instance.| 318| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_GetSupportedFrameRates](#oh_videooutput_getsupportedframerates) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*\*frameRateRange, uint32_t \*size) | Obtains the list of frame rates supported by a **VideoOutput** instance.| 319| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_DeleteFrameRates](#oh_videooutput_deleteframerates) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*frameRateRange) | Deletes the frame rate list.| 320| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_SetFrameRate](#oh_videooutput_setframerate) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, int32_t minFps, int32_t maxFps) | Sets the frame rates for a **VideoOutput** instance.| 321| [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_GetActiveFrameRate](#oh_videooutput_getactiveframerate) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*frameRateRange) | Obtains the active frame rates of a **VideoOutput** instance.| 322 323 324## Type Description 325 326 327### Camera_CaptureEndInfo 328 329``` 330typedef struct Camera_CaptureEndInfo Camera_CaptureEndInfo 331``` 332 333**Description** 334 335Defines a struct for the capture end information. 336 337**Since**: 11 338 339 340### Camera_CaptureSession 341 342``` 343typedef struct Camera_CaptureSession Camera_CaptureSession 344``` 345 346**Description** 347 348Defines a struct for the capture session object. 349 350You can call [OH_CameraManager_CreateCaptureSession](#oh_cameramanager_createcapturesession) to create such an object. 351 352**Since**: 11 353 354 355### Camera_CaptureStartInfo 356 357``` 358typedef struct Camera_CaptureStartInfo Camera_CaptureStartInfo 359``` 360 361**Description** 362 363Defines a struct for the capture start information. 364 365**Since**: 12 366 367 368### Camera_Connection 369 370``` 371typedef enum Camera_Connection Camera_Connection 372``` 373 374**Description** 375 376Defines an enum for the camera connection types. 377 378**Since**: 11 379 380 381### Camera_Device 382 383``` 384typedef struct Camera_Device Camera_Device 385``` 386 387**Description** 388 389Defines a struct for the camera device. 390 391**Since**: 11 392 393 394### Camera_ErrorCode 395 396``` 397typedef enum Camera_ErrorCode Camera_ErrorCode 398``` 399 400**Description** 401 402Defines an enum for the camera error codes. 403 404**Since**: 11 405 406 407### Camera_ExposureMode 408 409``` 410typedef enum Camera_ExposureMode Camera_ExposureMode 411``` 412 413**Description** 414 415Defines an enum for the exposure modes. 416 417**Since**: 11 418 419 420### Camera_FlashMode 421 422``` 423typedef enum Camera_FlashMode Camera_FlashMode 424``` 425 426**Description** 427 428Defines an enum for the flash modes. 429 430**Since**: 11 431 432 433### Camera_FocusMode 434 435``` 436typedef enum Camera_FocusMode Camera_FocusMode 437``` 438 439**Description** 440 441Defines an enum for the focus modes. 442 443**Since**: 11 444 445 446### Camera_FocusState 447 448``` 449typedef enum Camera_FocusState Camera_FocusState 450``` 451 452**Description** 453 454Defines an enum for the focus states. 455 456**Since**: 11 457 458 459### Camera_Format 460 461``` 462typedef enum Camera_FormatCamera_Format 463``` 464 465**Description** 466 467Defines an enum for the camera output formats. 468 469**Since**: 11 470 471 472### Camera_FrameRateRange 473 474``` 475typedef struct Camera_FrameRateRange Camera_FrameRateRange 476``` 477 478**Description** 479 480Defines a struct for the frame rate range. 481 482**Since**: 11 483 484 485### Camera_FrameShutterEndInfo 486 487``` 488typedef struct Camera_FrameShutterEndInfo Camera_FrameShutterEndInfo 489``` 490 491**Description** 492 493Defines a struct for the frame shutter end information during capture. 494 495**Since**: 12 496 497 498### Camera_FrameShutterInfo 499 500``` 501typedef struct Camera_FrameShutterInfo Camera_FrameShutterInfo 502``` 503 504**Description** 505 506Defines a struct for the frame shutter information. 507 508**Since**: 11 509 510 511### Camera_ImageRotation 512 513``` 514typedef enum Camera_ImageRotation Camera_ImageRotation 515``` 516 517**Description** 518 519Defines an enum for the image rotation angles. 520 521**Since**: 11 522 523 524### Camera_Input 525 526``` 527typedef struct Camera_Input Camera_Input 528``` 529 530**Description** 531 532Defines a struct for the camera input object. 533 534You can call [OH_CameraManager_CreateCameraInput](#oh_cameramanager_createcamerainput) to create such an object. 535 536**Since**: 11 537 538 539### Camera_Location 540 541``` 542typedef struct Camera_Location Camera_Location 543``` 544 545**Description** 546 547Defines a struct for the location where the photo is taken. 548 549**Since**: 11 550 551 552### Camera_Manager 553 554``` 555typedef struct Camera_Manager Camera_Manager 556``` 557 558**Description** 559 560Defines a struct for the camera manager. 561 562You can call [OH_Camera_GetCameraManager](#oh_camera_getcameramanager) to create such an object. 563 564**Since**: 11 565 566 567### Camera_MetadataObject 568 569``` 570typedef struct Camera_MetadataObject Camera_MetadataObject 571``` 572 573**Description** 574 575Defines a struct for the camera metadata. 576 577**Since**: 11 578 579 580### Camera_MetadataObjectType 581 582``` 583typedef enum Camera_MetadataObjectType Camera_MetadataObjectType 584``` 585 586**Description** 587 588Defines an enum for the metadata object types. 589 590**Since**: 11 591 592 593### Camera_MetadataOutput 594 595``` 596typedef struct Camera_MetadataOutput Camera_MetadataOutput 597``` 598 599**Description** 600 601Defines a struct for the metadata output object. 602 603You can call [OH_CameraManager_CreateMetadataOutput](#oh_cameramanager_createmetadataoutput) to create such an object. 604 605**Since**: 11 606 607 608### Camera_OutputCapability 609 610``` 611typedef struct Camera_OutputCapability Camera_OutputCapability 612``` 613 614**Description** 615 616Defines a struct for the camera output capability. 617 618**Since**: 11 619 620 621### Camera_PhotoCaptureSetting 622 623``` 624typedef struct Camera_PhotoCaptureSetting Camera_PhotoCaptureSetting 625``` 626 627**Description** 628 629Defines a struct for the parameters related to photo capture. 630 631**Since**: 11 632 633 634### Camera_PhotoOutput 635 636``` 637typedef struct Camera_PhotoOutput Camera_PhotoOutput 638``` 639 640**Description** 641 642Defines a struct for the photo output object. 643 644You can call [OH_CameraManager_CreatePhotoOutput](#oh_cameramanager_createphotooutput) to create such an object. 645 646**Since**: 11 647 648 649### Camera_Point 650 651``` 652typedef struct Camera_Point Camera_Point 653``` 654 655**Description** 656 657Defines a struct for the parameters related to a point. 658 659**Since**: 11 660 661 662### Camera_Position 663 664``` 665typedef enum Camera_Position Camera_Position 666``` 667 668**Description** 669 670Defines an enum for the camera positions. 671 672**Since**: 11 673 674 675### Camera_PreconfigRatio 676 677``` 678typedef enum Camera_PreconfigRatio Camera_PreconfigRatio 679``` 680 681**Description** 682 683Defines an enum for the preconfigured aspect ratios. 684 685**Since**: 12 686 687 688### Camera_PreconfigType 689 690``` 691typedef enum Camera_PreconfigType Camera_PreconfigType 692``` 693 694**Description** 695 696Defines an enum for the preconfigured resolution types. 697 698**Since**: 12 699 700 701### Camera_PreviewOutput 702 703``` 704typedef struct Camera_PreviewOutput Camera_PreviewOutput 705``` 706 707**Description** 708 709Defines a struct for the preview output object. 710 711You can call [OH_CameraManager_CreatePreviewOutput](#oh_cameramanager_createpreviewoutput) to create such an object. 712 713**Since**: 11 714 715 716### Camera_Profile 717 718``` 719typedef struct Camera_Profile Camera_Profile 720``` 721 722**Description** 723 724Defines a struct for the profile of a camera stream. 725 726**Since**: 11 727 728 729### Camera_QualityLevel 730 731``` 732typedef enum Camera_QualityLevel Camera_QualityLevel 733``` 734 735**Description** 736 737Defines an enum for the image quality levels. 738 739**Since**: 11 740 741 742### Camera_Rect 743 744``` 745typedef struct Camera_Rect Camera_Rect 746``` 747 748**Description** 749 750Defines a struct for the rectangle. 751 752**Since**: 11 753 754 755### Camera_SceneMode 756 757``` 758typedef enum Camera_SceneMode Camera_SceneMode 759``` 760 761**Description** 762 763Defines an enum for the camera scene modes. 764 765**Since**: 12 766 767 768### Camera_Size 769 770``` 771typedef struct Camera_Size Camera_Size 772``` 773 774**Description** 775 776Defines a struct for the parameters related to the size. 777 778**Since**: 11 779 780 781### Camera_SmoothZoomInfo 782 783``` 784typedef struct Camera_SmoothZoomInfo Camera_SmoothZoomInfo 785``` 786 787**Description** 788 789Defines a struct for the smooth zoom information. 790 791**Since**: 12 792 793 794### Camera_SmoothZoomMode 795 796``` 797typedef enum Camera_SmoothZoomMode Camera_SmoothZoomMode 798``` 799 800**Description** 801 802Defines an enum for the smooth zoom modes. 803 804**Since**: 12 805 806 807### Camera_Status 808 809``` 810typedef enum Camera_Status Camera_Status 811``` 812 813**Description** 814 815Defines an enum for the camera statuses. 816 817**Since**: 11 818 819 820### Camera_StatusInfo 821 822``` 823typedef struct Camera_StatusInfo Camera_StatusInfo 824``` 825 826**Description** 827 828Defines a struct for the camera status information. 829 830**Since**: 11 831 832 833### Camera_TorchMode 834 835``` 836typedef enum Camera_TorchMode Camera_TorchMode 837``` 838 839**Description** 840 841Defines an enum for the flashlight modes. 842 843**Since**: 12 844 845 846### Camera_TorchStatusInfo 847 848``` 849typedef struct Camera_TorchStatusInfo Camera_TorchStatusInfo 850``` 851 852**Description** 853 854Defines a struct for the flashlight status information. 855 856**Since**: 12 857 858 859### Camera_Type 860 861``` 862typedef enum Camera_Type Camera_Type 863``` 864 865**Description** 866 867Defines an enum for the camera types. 868 869**Since**: 11 870 871 872### Camera_VideoOutput 873 874``` 875typedef struct Camera_VideoOutput Camera_VideoOutput 876``` 877 878**Description** 879 880Defines a struct for the video output object. 881 882You can call [OH_CameraManager_CreateVideoOutput](#oh_cameramanager_createvideooutput) to create such an object. 883 884**Since**: 11 885 886 887### Camera_VideoProfile 888 889``` 890typedef struct Camera_VideoProfile Camera_VideoProfile 891``` 892 893**Description** 894 895Defines a struct for the video profile. 896 897**Since**: 11 898 899 900### Camera_VideoStabilizationMode 901 902``` 903typedef enum Camera_VideoStabilizationMode Camera_VideoStabilizationMode 904``` 905 906**Description** 907 908Defines an enum for the video stabilization modes. 909 910**Since**: 11 911 912 913### CameraInput_Callbacks 914 915``` 916typedef struct CameraInput_Callbacks CameraInput_Callbacks 917``` 918 919**Description** 920 921Defines a struct for the callbacks used to listen for camera input errors. 922 923**Since**: 11 924 925**See** 926 927[OH_CameraInput_RegisterCallback](#oh_camerainput_registercallback) 928 929 930### CameraManager_Callbacks 931 932``` 933typedef struct CameraManager_Callbacks CameraManager_Callbacks 934``` 935 936**Description** 937 938Defines a struct for the callbacks used to listen for camera status changes. 939 940**Since**: 11 941 942**See** 943 944[OH_CameraManager_RegisterCallback](#oh_cameramanager_registercallback) 945 946 947### CaptureSession_Callbacks 948 949``` 950typedef struct CaptureSession_Callbacks CaptureSession_Callbacks 951``` 952 953**Description** 954 955Defines a struct for the callbacks used for a capture session. 956 957**Since**: 11 958 959**See** 960 961[OH_CaptureSession_RegisterCallback](#oh_capturesession_registercallback) 962 963 964### MetadataOutput_Callbacks 965 966``` 967typedef struct MetadataOutput_Callbacks MetadataOutput_Callbacks 968``` 969 970**Description** 971 972Defines a struct for the callbacks related to metadata output. 973 974**Since**: 11 975 976**See** 977 978[OH_MetadataOutput_RegisterCallback](#oh_metadataoutput_registercallback) 979 980 981### OH_CameraInput_OnError 982 983``` 984typedef void (*OH_CameraInput_OnError)(const Camera_Input* cameraInput, Camera_ErrorCode errorCode) 985``` 986 987**Description** 988 989Defines the callback defined in the [CameraInput_Callbacks](_camera_input___callbacks.md) struct and used to report camera input errors. 990 991**Since**: 11 992 993**Parameters** 994 995| Name| Description| 996| -------- | -------- | 997| cameraInput | Pointer to the [Camera_Input](#camera_input) instance that transfers the callback.| 998| errorCode | Error code reported during camera input and defined in [Camera_ErrorCode](#camera_errorcode-1).| 999 1000**See** 1001 1002In [Camera_ErrorCode](#camera_errorcode-1): 1003 1004- CAMERA_CONFLICT_CAMERA 1005 1006- CAMERA_DEVICE_DISABLED 1007 1008- CAMERA_DEVICE_PREEMPTED 1009 1010- CAMERA_SERVICE_FATAL_ERROR 1011 1012 1013### OH_CameraManager_StatusCallback 1014 1015``` 1016typedef void (*OH_CameraManager_StatusCallback)(Camera_Manager* cameraManager, Camera_StatusInfo* status) 1017``` 1018 1019**Description** 1020 1021Defines the callback defined in the [CameraManager_Callbacks](_camera_manager___callbacks.md) struct and used to report the camera manager status. 1022 1023**Since**: 11 1024 1025**Parameters** 1026 1027| Name| Description| 1028| -------- | -------- | 1029| cameraManager | Pointer to the [Camera_Manager](#camera_manager) instance that transfers the callback.| 1030| status | Pointer to the camera manager status, which is defined in the [Camera_StatusInfo](_camera___status_info.md) struct.| 1031 1032 1033### OH_CameraManager_TorchStatusCallback 1034 1035``` 1036typedef void (*OH_CameraManager_TorchStatusCallback)(Camera_Manager* cameraManager, Camera_TorchStatusInfo* status) 1037``` 1038 1039**Description** 1040 1041Defines the callback invoked when the flashlight status changes. 1042 1043**Since**: 12 1044 1045**Parameters** 1046 1047| Name| Description| 1048| -------- | -------- | 1049| cameraManager | Pointer to the [Camera_Manager](#camera_manager) instance that transfers the callback.| 1050| status | Pointer to the flashlight status, which is defined in the [Camera_TorchStatusInfo](_camera___torch_status_info.md) struct.| 1051 1052 1053### OH_CaptureSession_OnError 1054 1055``` 1056typedef void (*OH_CaptureSession_OnError)(Camera_CaptureSession* session, Camera_ErrorCode errorCode) 1057``` 1058 1059**Description** 1060 1061Defines the callback defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct and used to report capture session errors. 1062 1063**Since**: 11 1064 1065**Parameters** 1066 1067| Name| Description| 1068| -------- | -------- | 1069| session | Pointer to the [Camera_CaptureSession](#camera_capturesession) instance that transfers the callback.| 1070| errorCode | Error code reported in a capture session and defined in [Camera_ErrorCode](#camera_errorcode-1).| 1071 1072**See** 1073 1074**CAMERA_SERVICE_FATAL_ERROR** in [Camera_ErrorCode](#camera_errorcode-1). 1075 1076 1077### OH_CaptureSession_OnFocusStateChange 1078 1079``` 1080typedef void (*OH_CaptureSession_OnFocusStateChange)(Camera_CaptureSession* session, Camera_FocusState focusState) 1081``` 1082 1083**Description** 1084 1085Defines the callback defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct and used to report focus status changes of a capture session. 1086 1087**Since**: 11 1088 1089**Parameters** 1090 1091| Name| Description| 1092| -------- | -------- | 1093| session | Pointer to the [Camera_CaptureSession](#camera_capturesession) instance that transfers the callback.| 1094| focusState | Focus state, which is defined in [Camera_FocusState](#camera_focusstate).| 1095 1096 1097### OH_CaptureSession_OnSmoothZoomInfo 1098 1099``` 1100typedef void (*OH_CaptureSession_OnSmoothZoomInfo)(Camera_CaptureSession* session, Camera_SmoothZoomInfo* smoothZoomInfo) 1101``` 1102 1103**Description** 1104 1105Defines the callback invoked when smooth zoom is triggered for a capture session. 1106 1107**Since**: 12 1108 1109**Parameters** 1110 1111| Name| Description| 1112| -------- | -------- | 1113| session | Pointer to the [Camera_CaptureSession](#camera_capturesession) instance that transfers the callback.| 1114| smoothZoomInfo | Pointer to [Camera_SmoothZoomInfo](_camera___smooth_zoom_info.md) passed by the callback.| 1115 1116 1117### OH_MetadataOutput_OnError 1118 1119``` 1120typedef void (*OH_MetadataOutput_OnError)(Camera_MetadataOutput* metadataOutput, Camera_ErrorCode errorCode) 1121``` 1122 1123**Description** 1124 1125Defines the callback defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct and used to report metadata output errors. 1126 1127**Since**: 11 1128 1129**Parameters** 1130 1131| Name| Description| 1132| -------- | -------- | 1133| metadataOutput | Pointer to the [Camera_MetadataOutput](#camera_metadataoutput) instance that transfers the callback.| 1134| errorCode | Error code reported during metadata output and defined in [Camera_ErrorCode](#camera_errorcode-1).| 1135 1136**See** 1137 1138**CAMERA_SERVICE_FATAL_ERROR** in [Camera_ErrorCode](#camera_errorcode-1). 1139 1140 1141### OH_MetadataOutput_OnMetadataObjectAvailable 1142 1143``` 1144typedef void (*OH_MetadataOutput_OnMetadataObjectAvailable)(Camera_MetadataOutput* metadataOutput, Camera_MetadataObject* metadataObject, uint32_t size) 1145``` 1146 1147**Description** 1148 1149Defines the callback defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct and used to report metadata output data. 1150 1151**Since**: 11 1152 1153**Parameters** 1154 1155| Name| Description| 1156| -------- | -------- | 1157| metadataOutput | Pointer to the [Camera_MetadataOutput](#camera_metadataoutput) instance that transfers the callback.| 1158| metadataObject | Pointer to the metadata output data, which is defined in the [Camera_MetadataObject](_camera___metadata_object.md) struct.| 1159| size | Size of the metadata object.| 1160 1161 1162### OH_PhotoNative 1163 1164``` 1165typedef struct OH_PhotoNative OH_PhotoNative 1166``` 1167 1168**Description** 1169 1170Defines a struct for a camera photo object. 1171 1172Defines a high-resolution image object. 1173 1174**Since**: 12 1175 1176 1177### OH_PhotoOutput_CaptureEnd 1178 1179``` 1180typedef void (*OH_PhotoOutput_CaptureEnd) (Camera_PhotoOutput* photoOutput, int32_t frameCount) 1181``` 1182 1183**Description** 1184 1185Defines the callback invoked when the capture ends. 1186 1187**Since**: 12 1188 1189**Parameters** 1190 1191| Name| Description| 1192| -------- | -------- | 1193| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1194| frameCount | Number of frames to be included in the callback.| 1195 1196 1197### OH_PhotoOutput_CaptureReady 1198 1199``` 1200typedef void (*OH_PhotoOutput_CaptureReady) (Camera_PhotoOutput* photoOutput) 1201``` 1202 1203**Description** 1204 1205Defines the callback invoked when the camera is ready to take photos. When the callback is received, the next capture can be performed. 1206 1207**Since**: 12 1208 1209**Parameters** 1210 1211| Name| Description| 1212| -------- | -------- | 1213| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1214 1215 1216### OH_PhotoOutput_CaptureStartWithInfo 1217 1218``` 1219typedef void (*OH_PhotoOutput_CaptureStartWithInfo) (Camera_PhotoOutput* photoOutput, Camera_CaptureStartInfo* Info) 1220``` 1221 1222**Description** 1223 1224Defines the callback invoked when the capture starts. 1225 1226**Since**: 12 1227 1228**Parameters** 1229 1230| Name| Description| 1231| -------- | -------- | 1232| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1233| Info | Pointer to [Camera_CaptureStartInfo](_camera___capture_start_info.md) passed by the callback.| 1234 1235 1236### OH_PhotoOutput_EstimatedCaptureDuration 1237 1238``` 1239typedef void (*OH_PhotoOutput_EstimatedCaptureDuration) (Camera_PhotoOutput* photoOutput, int64_t duration) 1240``` 1241 1242**Description** 1243 1244Defines the callback for the estimated capture duration. 1245 1246**Since**: 12 1247 1248**Parameters** 1249 1250| Name| Description| 1251| -------- | -------- | 1252| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1253| duration | Estimated capture duration passed by the callback.| 1254 1255 1256### OH_PhotoOutput_OnError 1257 1258``` 1259typedef void (*OH_PhotoOutput_OnError)(Camera_PhotoOutput* photoOutput, Camera_ErrorCode errorCode) 1260``` 1261 1262**Description** 1263 1264Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output errors. 1265 1266**Since**: 11 1267 1268**Parameters** 1269 1270| Name| Description| 1271| -------- | -------- | 1272| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1273| errorCode | Error code reported during photo output and defined in [Camera_ErrorCode](#camera_errorcode-1).| 1274 1275**See** 1276 1277**CAMERA_SERVICE_FATAL_ERROR** in [Camera_ErrorCode](#camera_errorcode-1). 1278 1279 1280### OH_PhotoOutput_OnFrameEnd 1281 1282``` 1283typedef void (*OH_PhotoOutput_OnFrameEnd)(Camera_PhotoOutput* photoOutput, int32_t frameCount) 1284``` 1285 1286**Description** 1287 1288Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output frame end events. 1289 1290**Since**: 11 1291 1292**Parameters** 1293 1294| Name| Description| 1295| -------- | -------- | 1296| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1297| frameCount | Number of frames to be included in the callback.| 1298 1299 1300### OH_PhotoOutput_OnFrameShutter 1301 1302``` 1303typedef void (*OH_PhotoOutput_OnFrameShutter)(Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* info) 1304``` 1305 1306**Description** 1307 1308Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report frame shutter events. 1309 1310**Since**: 11 1311 1312**Parameters** 1313 1314| Name| Description| 1315| -------- | -------- | 1316| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1317| info | Pointer to the frame shutter information, which is defined in the [Camera_FrameShutterInfo](_camera___frame_shutter_info.md) struct.| 1318 1319 1320### OH_PhotoOutput_OnFrameShutterEnd 1321 1322``` 1323typedef void (*OH_PhotoOutput_OnFrameShutterEnd) (Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* Info) 1324``` 1325 1326**Description** 1327 1328Defines the callback invoked when frame shutter ends. 1329 1330**Since**: 12 1331 1332**Parameters** 1333 1334| Name| Description| 1335| -------- | -------- | 1336| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1337| Info | Pointer to [Camera_CaptureStartInfo](_camera___capture_start_info.md) passed by the callback.| 1338 1339 1340### OH_PhotoOutput_OnFrameStart 1341 1342``` 1343typedef void(* OH_PhotoOutput_OnFrameStart) (Camera_PhotoOutput *photoOutput) 1344``` 1345 1346**Description** 1347 1348Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output frame start events. 1349 1350**Since**: 11 1351 1352**Parameters** 1353 1354| Name| Description| 1355| -------- | -------- | 1356| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1357 1358 1359### OH_PhotoOutput_PhotoAssetAvailable 1360 1361``` 1362typedef void (*OH_PhotoOutput_PhotoAssetAvailable)(Camera_PhotoOutput* photoOutput, OH_MediaAsset* photoAsset) 1363``` 1364 1365**Description** 1366 1367Defines the callback invoked when a photo asset is available. 1368 1369**Since**: 12 1370 1371**Parameters** 1372 1373| Name| Description| 1374| -------- | -------- | 1375| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1376| photoAsset | Pointer to [OH_MediaAsset](../apis-media-library-kit/_media_asset_manager.md#oh_mediaasset) passed by the callback.| 1377 1378 1379### OH_PhotoOutput_PhotoAvailable 1380 1381``` 1382typedef void (*OH_PhotoOutput_PhotoAvailable)(Camera_PhotoOutput* photoOutput, OH_PhotoNative* photo) 1383``` 1384 1385**Description** 1386 1387Defines the callback invoked when a high-resolution photo is available. 1388 1389**Since**: 12 1390 1391**Parameters** 1392 1393| Name| Description| 1394| -------- | -------- | 1395| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| 1396| photo | Pointer to [OH_PhotoNative](#oh_photonative) passed by the callback.| 1397 1398 1399### OH_PreviewOutput_OnError 1400 1401``` 1402typedef void (*OH_PreviewOutput_OnError)(Camera_PreviewOutput* previewOutput, Camera_ErrorCode errorCode) 1403``` 1404 1405**Description** 1406 1407Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used to report preview output errors. 1408 1409**Since**: 11 1410 1411**Parameters** 1412 1413| Name| Description| 1414| -------- | -------- | 1415| previewOutput | Pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance that transfers the callback.| 1416| errorCode | Error code reported during preview output and defined in [Camera_ErrorCode](#camera_errorcode-1).| 1417 1418**See** 1419 1420**CAMERA_SERVICE_FATAL_ERROR** in [Camera_ErrorCode](#camera_errorcode-1). 1421 1422 1423### OH_PreviewOutput_OnFrameEnd 1424 1425``` 1426typedef void (*OH_PreviewOutput_OnFrameEnd)(Camera_PreviewOutput* previewOutput, int32_t frameCount) 1427``` 1428 1429**Description** 1430 1431Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used report preview output frame end events. 1432 1433**Since**: 11 1434 1435**Parameters** 1436 1437| Name| Description| 1438| -------- | -------- | 1439| previewOutput | Pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance that transfers the callback.| 1440| frameCount | Number of frames to be included in the callback.| 1441 1442 1443### OH_PreviewOutput_OnFrameStart 1444 1445``` 1446typedef void (*OH_PreviewOutput_OnFrameStart)(Camera_PreviewOutput* previewOutput) 1447``` 1448 1449**Description** 1450 1451Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used to report preview output frame start events. 1452 1453**Since**: 11 1454 1455**Parameters** 1456 1457| Name| Description| 1458| -------- | -------- | 1459| previewOutput | Pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance that transfers the callback.| 1460 1461 1462### OH_VideoOutput_OnError 1463 1464``` 1465typedef void (*OH_VideoOutput_OnError)(Camera_VideoOutput* videoOutput, Camera_ErrorCode errorCode) 1466``` 1467 1468**Description** 1469 1470Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output errors. 1471 1472**Since**: 11 1473 1474**Parameters** 1475 1476| Name| Description| 1477| -------- | -------- | 1478| videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance that transfers the callback.| 1479| errorCode | Error code reported during video output and defined in [Camera_ErrorCode](#camera_errorcode-1).| 1480 1481**See** 1482 1483**CAMERA_SERVICE_FATAL_ERROR** in [Camera_ErrorCode](#camera_errorcode-1). 1484 1485 1486### OH_VideoOutput_OnFrameEnd 1487 1488``` 1489typedef void (*OH_VideoOutput_OnFrameEnd)(Camera_VideoOutput* videoOutput, int32_t frameCount) 1490``` 1491 1492**Description** 1493 1494Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output frame end events. 1495 1496**Since**: 11 1497 1498**Parameters** 1499 1500| Name| Description| 1501| -------- | -------- | 1502| videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance that transfers the callback.| 1503| frameCount | Number of frames to be included in the callback.| 1504 1505 1506### OH_VideoOutput_OnFrameStart 1507 1508``` 1509typedef void (*OH_VideoOutput_OnFrameStart)(Camera_VideoOutput* videoOutput) 1510``` 1511 1512**Description** 1513 1514Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output frame start events. 1515 1516**Since**: 11 1517 1518**Parameters** 1519 1520| Name| Description| 1521| -------- | -------- | 1522| videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance that transfers the callback.| 1523 1524 1525### PhotoOutput_Callbacks 1526 1527``` 1528typedef struct PhotoOutput_Callbacks PhotoOutput_Callbacks 1529``` 1530 1531**Description** 1532 1533Defines a struct for the callbacks related to photo output. 1534 1535**Since**: 11 1536 1537**See** 1538 1539[OH_PhotoOutput_RegisterCallback](#oh_photooutput_registercallback) 1540 1541 1542### PreviewOutput_Callbacks 1543 1544``` 1545typedef struct PreviewOutput_Callbacks PreviewOutput_Callbacks 1546``` 1547 1548**Description** 1549 1550Defines a struct for the callbacks related to preview output. 1551 1552**Since**: 11 1553 1554**See** 1555 1556[OH_PreviewOutput_RegisterCallback](#oh_previewoutput_registercallback) 1557 1558 1559### VideoOutput_Callbacks 1560 1561``` 1562typedef struct VideoOutput_Callbacks VideoOutput_Callbacks 1563``` 1564 1565**Description** 1566 1567Defines a struct for the callbacks related to video output. 1568 1569**Since**: 11 1570 1571**See** 1572 1573[OH_VideoOutput_RegisterCallback](#oh_videooutput_registercallback) 1574 1575 1576## Enum Description 1577 1578 1579### Camera_Connection 1580 1581``` 1582enum Camera_Connection 1583``` 1584 1585**Description** 1586 1587Enumerates the camera connection types. 1588 1589**Since**: 11 1590 1591| Value| Description| 1592| -------- | -------- | 1593| CAMERA_CONNECTION_BUILT_IN | Built-in camera.| 1594| CAMERA_CONNECTION_USB_PLUGIN | Camera connected using USB.| 1595| CAMERA_CONNECTION_REMOTE | Remote camera.| 1596 1597 1598### Camera_ErrorCode 1599 1600``` 1601enum Camera_ErrorCode 1602``` 1603 1604**Description** 1605 1606Enumerates the camera error codes. 1607 1608**Since**: 11 1609 1610| Value| Description| 1611| -------- | -------- | 1612| CAMERA_OK | The camera is normal.| 1613| CAMERA_INVALID_ARGUMENT | A parameter is missing or the parameter type is incorrect.| 1614| CAMERA_OPERATION_NOT_ALLOWED | The operation is not allowed.| 1615| CAMERA_SESSION_NOT_CONFIG | The session is not configured.| 1616| CAMERA_SESSION_NOT_RUNNING | The session is not running.| 1617| CAMERA_SESSION_CONFIG_LOCKED | The session configuration is locked.| 1618| CAMERA_DEVICE_SETTING_LOCKED | The device setting is locked.| 1619| CAMERA_CONFLICT_CAMERA | The device is already started.| 1620| CAMERA_DEVICE_DISABLED | The camera is disabled for security reasons.| 1621| CAMERA_DEVICE_PREEMPTED | The camera is preempted.| 1622| CAMERA_UNRESOLVED_CONFLICTS_WITH_CURRENT_CONFIGURATIONS | The configuration conflicts with the current configuration.<br>**Since**: 12| 1623| CAMERA_SERVICE_FATAL_ERROR | A fatal error occurs in the camera service.| 1624 1625 1626### Camera_ExposureMode 1627 1628``` 1629enum Camera_ExposureMode 1630``` 1631 1632**Description** 1633 1634Enumerates the exposure modes. 1635 1636**Since**: 11 1637 1638| Value| Description| 1639| -------- | -------- | 1640| EXPOSURE_MODE_LOCKED | Exposure locked.| 1641| EXPOSURE_MODE_AUTO | Auto exposure.| 1642| EXPOSURE_MODE_CONTINUOUS_AUTO | Continuous auto exposure.| 1643 1644 1645### Camera_FlashMode 1646 1647``` 1648enum Camera_FlashMode 1649``` 1650 1651**Description** 1652 1653Enumerates the flash modes. 1654 1655**Since**: 11 1656 1657| Value| Description| 1658| -------- | -------- | 1659| FLASH_MODE_CLOSE | The flash is off.| 1660| FLASH_MODE_OPEN | The flash is on.| 1661| FLASH_MODE_AUTO | The flash mode is auto.| 1662| FLASH_MODE_ALWAYS_OPEN | The flash is steady on.| 1663 1664 1665### Camera_FocusMode 1666 1667``` 1668enum Camera_FocusMode 1669``` 1670 1671**Description** 1672 1673Enumerates the focus modes. 1674 1675**Since**: 11 1676 1677| Value| Description| 1678| -------- | -------- | 1679| FOCUS_MODE_MANUAL | Manual focus.| 1680| FOCUS_MODE_CONTINUOUS_AUTO | Continuous auto focus.| 1681| FOCUS_MODE_AUTO | Auto focus.| 1682| FOCUS_MODE_LOCKED | Focus locked.| 1683 1684 1685### Camera_FocusState 1686 1687``` 1688enum Camera_FocusState 1689``` 1690 1691**Description** 1692 1693Enumerates the focus states. 1694 1695**Since**: 11 1696 1697| Value| Description| 1698| -------- | -------- | 1699| FOCUS_STATE_SCAN | Focusing.| 1700| FOCUS_STATE_FOCUSED | Focused.| 1701| FOCUS_STATE_UNFOCUSED | Unfocused.| 1702 1703 1704### Camera_Format 1705 1706``` 1707enum Camera_Format 1708``` 1709 1710**Description** 1711 1712Enumerates the camera output formats. 1713 1714**Since**: 11 1715 1716| Value| Description| 1717| -------- | -------- | 1718| CAMERA_FORMAT_RGBA_8888 | RGBA 8888.| 1719| CAMERA_FORMAT_YUV_420_SP | YUV 420 SP.| 1720| CAMERA_FORMAT_JPEG | JPEG.| 1721| CAMERA_FORMAT_YCBCR_P010 | YCBCR P010.<br>**Since**: 12| 1722| CAMERA_FORMAT_YCRCB_P010 | YCRCB P010.<br>**Since**: 12| 1723 1724 1725### Camera_ImageRotation 1726 1727``` 1728enum Camera_ImageRotation 1729``` 1730 1731**Description** 1732 1733Enumerates the image rotation angles. 1734 1735**Since**: 11 1736 1737| Value| Description| 1738| -------- | -------- | 1739| IAMGE_ROTATION_0 | The image rotates 0 degrees.| 1740| IAMGE_ROTATION_90 | The image rotates 90 degrees.| 1741| IAMGE_ROTATION_180 | The image rotates 180 degrees.| 1742| IAMGE_ROTATION_270 | The image rotates 270 degrees.| 1743 1744 1745### Camera_MetadataObjectType 1746 1747``` 1748enum Camera_MetadataObjectType 1749``` 1750 1751**Description** 1752 1753Enumerates the metadata object types. 1754 1755**Since**: 11 1756 1757| Value| Description| 1758| -------- | -------- | 1759| FACE_DETECTION | Face detection.| 1760 1761 1762### Camera_Position 1763 1764``` 1765enum Camera_Position 1766``` 1767 1768**Description** 1769 1770Enumerates the camera positions. 1771 1772**Since**: 11 1773 1774| Value| Description| 1775| -------- | -------- | 1776| CAMERA_POSITION_UNSPECIFIED | Unspecified position.| 1777| CAMERA_POSITION_BACK | Rear camera.| 1778| CAMERA_POSITION_FRONT | Front camera.| 1779 1780 1781### Camera_PreconfigRatio 1782 1783``` 1784enum Camera_PreconfigRatio 1785``` 1786 1787**Description** 1788 1789Enumerates the preconfigured aspect ratios. 1790 1791**Since**: 12 1792 1793| Value| Description| 1794| -------- | -------- | 1795| PRECONFIG_RATIO_1_1 | 1:1 aspect ratio.| 1796| PRECONFIG_RATIO_4_3 | 4:3 aspect ratio.| 1797| PRECONFIG_RATIO_16_9 | 16:9 aspect ratio.| 1798 1799 1800### Camera_PreconfigType 1801 1802``` 1803enum Camera_PreconfigType 1804``` 1805 1806**Description** 1807 1808Enumerates the preconfigured resolution types. 1809 1810**Since**: 12 1811 1812| Value| Description| 1813| -------- | -------- | 1814| PRECONFIG_720P | 720p resolution.| 1815| PRECONFIG_1080P | 1080p resolution.| 1816| PRECONFIG_4K | 4K resolution.| 1817| PRECONFIG_HIGH_QUALITY | High-quality photos.| 1818 1819 1820### Camera_QualityLevel 1821 1822``` 1823enum Camera_QualityLevel 1824``` 1825 1826**Description** 1827 1828Enumerates the image quality levels. 1829 1830**Since**: 11 1831 1832| Value| Description| 1833| -------- | -------- | 1834| QUALITY_LEVEL_HIGH | High image quality.| 1835| QUALITY_LEVEL_MEDIUM | Medium image quality.| 1836| QUALITY_LEVEL_LOW | Low image quality.| 1837 1838 1839### Camera_SceneMode 1840 1841``` 1842enum Camera_SceneMode 1843``` 1844 1845**Description** 1846 1847Enumerates the camera scene modes. 1848 1849**Since**: 12 1850 1851| Value| Description| 1852| -------- | -------- | 1853| NORMAL_PHOTO | Normal photo mode.| 1854| NORMAL_VIDEO | Normal video mode.| 1855| SECURE_PHOTO | Secure mode.| 1856 1857 1858### Camera_SmoothZoomMode 1859 1860``` 1861enum Camera_SmoothZoomMode 1862``` 1863 1864**Description** 1865 1866Enumerates the smooth zoom modes. 1867 1868**Since**: 12 1869 1870| Value| Description| 1871| -------- | -------- | 1872| NORMAL | Bessel curve mode.| 1873 1874 1875### Camera_Status 1876 1877``` 1878enum Camera_Status 1879``` 1880 1881**Description** 1882 1883Enumerates the camera statuses. 1884 1885**Since**: 11 1886 1887| Value| Description| 1888| -------- | -------- | 1889| CAMERA_STATUS_APPEAR | A camera appears.| 1890| CAMERA_STATUS_DISAPPEAR | The camera disappears.| 1891| CAMERA_STATUS_AVAILABLE | The camera is available.| 1892| CAMERA_STATUS_UNAVAILABLE | The camera is unavailable.| 1893 1894 1895### Camera_TorchMode 1896 1897``` 1898enum Camera_TorchMode 1899``` 1900 1901**Description** 1902 1903Enumerates the flashlight modes. 1904 1905**Since**: 12 1906 1907| Value| Description| 1908| -------- | -------- | 1909| OFF | The flashlight is always off.| 1910| ON | The flashlight is always on.| 1911| AUTO | The flashlight will be turned on automatically based on the ambient lighting level.| 1912 1913 1914### Camera_Type 1915 1916``` 1917enum Camera_Type 1918``` 1919 1920**Description** 1921 1922Enumerates the camera types. 1923 1924**Since**: 11 1925 1926| Value| Description| 1927| -------- | -------- | 1928| CAMERA_TYPE_DEFAULT | Default camera type.| 1929| CAMERA_TYPE_WIDE_ANGLE | Wide camera.| 1930| CAMERA_TYPE_ULTRA_WIDE | Ultra wide camera.| 1931| CAMERA_TYPE_TELEPHOTO | Telephone camera.| 1932| CAMERA_TYPE_TRUE_DEPTH | Camera with depth of field information.| 1933 1934 1935### Camera_VideoStabilizationMode 1936 1937``` 1938enum Camera_VideoStabilizationMode 1939``` 1940 1941**Description** 1942 1943Enumerates the video stabilization modes. 1944 1945**Since**: 11 1946 1947| Value| Description| 1948| -------- | -------- | 1949| STABILIZATION_MODE_OFF | Video stabilization is disabled.| 1950| STABILIZATION_MODE_LOW | The basic video stabilization algorithm is used.| 1951| STABILIZATION_MODE_MIDDLE | A video stabilization algorithm with a stabilization effect better than that of the **LOW** type is used.| 1952| STABILIZATION_MODE_HIGH | A video stabilization algorithm with a stabilization effect better than that of the **MIDDLE** type is used.| 1953| STABILIZATION_MODE_AUTO | Automatic video stabilization is used. This value is available for HDF cameras.| 1954 1955 1956## Function Description 1957 1958 1959### OH_Camera_DeleteCameraManager() 1960 1961``` 1962Camera_ErrorCode OH_Camera_DeleteCameraManager(Camera_Manager* cameraManager) 1963``` 1964 1965**Description** 1966 1967Deletes a **CameraManager** instance. 1968 1969**Since**: 11 1970 1971**Parameters** 1972 1973| Name| Description| 1974| -------- | -------- | 1975| cameraManager | Pointer to the target [Camera_Manager](#camera_manager) instance.| 1976 1977**Returns** 1978 1979In [Camera_ErrorCode] (#camera_errorcode-1): 1980 1981- **CAMERA_OK**: The operation is successful. 1982 1983- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 1984 1985- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 1986 1987 1988### OH_Camera_GetCameraManager() 1989 1990``` 1991Camera_ErrorCode OH_Camera_GetCameraManager(Camera_Manager** cameraManager) 1992``` 1993 1994**Description** 1995 1996Obtains a **CameraManager** instance. 1997 1998**Since**: 11 1999 2000**Parameters** 2001 2002| Name| Description| 2003| -------- | -------- | 2004| cameraManager | Double pointer to the [Camera_Manager](#camera_manager) instance if the function is successfully called.| 2005 2006**Returns** 2007 2008In [Camera_ErrorCode] (#camera_errorcode-1): 2009 2010- **CAMERA_OK**: The operation is successful. 2011 2012- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2013 2014- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2015 2016 2017### OH_CameraDevice_GetCameraOrientation() 2018 2019``` 2020Camera_ErrorCode OH_CameraDevice_GetCameraOrientation(Camera_Device* camera, uint32_t* orientation) 2021``` 2022 2023**Description** 2024 2025Obtains the sensor direction of a camera device. 2026 2027**Since**: 12 2028 2029**Parameters** 2030 2031| Name| Description| 2032| -------- | -------- | 2033| camera | Pointer to the target [Camera_Device](_camera___device.md) instance.| 2034| orientation | Pointer to the sensor direction obtained.| 2035 2036**Returns** 2037 2038In [Camera_ErrorCode] (#camera_errorcode-1): 2039 2040- **CAMERA_OK**: The operation is successful. 2041 2042- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2043 2044- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2045 2046 2047### OH_CameraInput_Close() 2048 2049``` 2050Camera_ErrorCode OH_CameraInput_Close(Camera_Input* cameraInput) 2051``` 2052 2053**Description** 2054 2055Closes a camera. 2056 2057**Since**: 11 2058 2059**Parameters** 2060 2061| Name| Description| 2062| -------- | -------- | 2063| cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| 2064 2065**Returns** 2066 2067In [Camera_ErrorCode] (#camera_errorcode-1): 2068 2069- **CAMERA_OK**: The operation is successful. 2070 2071- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2072 2073- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2074 2075 2076### OH_CameraInput_Open() 2077 2078``` 2079Camera_ErrorCode OH_CameraInput_Open(Camera_Input* cameraInput) 2080``` 2081 2082**Description** 2083 2084Opens a camera. 2085 2086**Since**: 11 2087 2088**Parameters** 2089 2090| Name| Description| 2091| -------- | -------- | 2092| cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| 2093 2094**Returns** 2095 2096In [Camera_ErrorCode] (#camera_errorcode-1): 2097 2098- **CAMERA_OK**: The operation is successful. 2099 2100- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2101 2102- **CAMERA_CONFLICT_CAMERA**: The camera cannot be used due to a conflict. 2103 2104- **CAMERA_DEVICE_DISABLED**: The camera is disabled due to security reasons. 2105 2106- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2107 2108 2109### OH_CameraInput_OpenSecureCamera() 2110 2111``` 2112Camera_ErrorCode OH_CameraInput_OpenSecureCamera(Camera_Input* cameraInput, uint64_t* secureSeqId) 2113``` 2114 2115**Description** 2116 2117Opens a camera in secure mode. 2118 2119**Since**: 12 2120 2121**Parameters** 2122 2123| Name| Description| 2124| -------- | -------- | 2125| cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| 2126| secureSeqId | Pointer to the sequence ID of the camera.| 2127 2128**Returns** 2129 2130In [Camera_ErrorCode] (#camera_errorcode-1): 2131 2132- **CAMERA_OK**: The operation is successful. 2133 2134- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2135 2136- **CAMERA_CONFLICT_CAMERA**: The camera cannot be used due to a conflict. 2137 2138- **CAMERA_DEVICE_DISABLED**: The camera is disabled due to security reasons. 2139 2140- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2141 2142 2143### OH_CameraInput_RegisterCallback() 2144 2145``` 2146Camera_ErrorCode OH_CameraInput_RegisterCallback(Camera_Input* cameraInput, CameraInput_Callbacks* callback) 2147``` 2148 2149**Description** 2150 2151Registers a callback to listen for camera input events. 2152 2153**Since**: 11 2154 2155**Parameters** 2156 2157| Name| Description| 2158| -------- | -------- | 2159| cameraInput | Pointer to a [Camera_Input](#camera_input) instance.| 2160| callback | Pointer to the target callback, which is defined in the [CameraInput_Callbacks](_camera_input___callbacks.md) struct.| 2161 2162**Returns** 2163 2164In [Camera_ErrorCode] (#camera_errorcode-1): 2165 2166- **CAMERA_OK**: The operation is successful. 2167 2168- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2169 2170 2171### OH_CameraInput_Release() 2172 2173``` 2174Camera_ErrorCode OH_CameraInput_Release(Camera_Input* cameraInput) 2175``` 2176 2177**Description** 2178 2179Releases a **CameraInput** instance. 2180 2181Either this function or [OH_CameraInput_Close](#oh_camerainput_close) needs to be called. 2182 2183**Since**: 11 2184 2185**Parameters** 2186 2187| Name| Description| 2188| -------- | -------- | 2189| cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| 2190 2191**Returns** 2192 2193In [Camera_ErrorCode] (#camera_errorcode-1): 2194 2195- **CAMERA_OK**: The operation is successful. 2196 2197- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2198 2199- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2200 2201 2202### OH_CameraInput_UnregisterCallback() 2203 2204``` 2205Camera_ErrorCode OH_CameraInput_UnregisterCallback(Camera_Input* cameraInput, CameraInput_Callbacks* callback) 2206``` 2207 2208**Description** 2209 2210Unregisters the callback used to listen for camera input events. 2211 2212**Since**: 11 2213 2214**Parameters** 2215 2216| Name| Description| 2217| -------- | -------- | 2218| cameraInput | Pointer to a [Camera_Input](#camera_input) instance.| 2219| callback | Pointer to the target callback, which is defined in the [CameraInput_Callbacks](_camera_input___callbacks.md) struct.| 2220 2221**Returns** 2222 2223In [Camera_ErrorCode] (#camera_errorcode-1): 2224 2225- **CAMERA_OK**: The operation is successful. 2226 2227- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2228 2229 2230### OH_CameraManager_CreateCameraInput() 2231 2232``` 2233Camera_ErrorCode OH_CameraManager_CreateCameraInput(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_Input** cameraInput) 2234``` 2235 2236**Description** 2237 2238Creates a **CameraInput** instance. 2239 2240**Since**: 11 2241 2242**Required permissions**: ohos.permission.CAMERA 2243 2244**Parameters** 2245 2246| Name| Description| 2247| -------- | -------- | 2248| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2249| camera | Pointer to the target camera, which is defined in [Camera_Device](_camera___device.md).| 2250| cameraInput | Double pointer to the [Camera_Input](#camera_input) instance if the function is successfully called.| 2251 2252**Returns** 2253 2254In [Camera_ErrorCode] (#camera_errorcode-1): 2255 2256- **CAMERA_OK**: The operation is successful. 2257 2258- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2259 2260- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2261 2262 2263### OH_CameraManager_CreateCameraInput_WithPositionAndType() 2264 2265``` 2266Camera_ErrorCode OH_CameraManager_CreateCameraInput_WithPositionAndType(Camera_Manager* cameraManager, Camera_Position position, Camera_Type type, Camera_Input** cameraInput) 2267``` 2268 2269**Description** 2270 2271Creates a **CameraInput** instance with the specified location and type. 2272 2273**Since**: 11 2274 2275**Required permissions**: ohos.permission.CAMERA 2276 2277**Parameters** 2278 2279| Name| Description| 2280| -------- | -------- | 2281| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2282| position | Camera position, which is defined in [Camera_Position](#camera_position).| 2283| type | Camera type, which is defined in [Camera_Type](#camera_type).| 2284| cameraInput | Double pointer to the [Camera_Input](#camera_input) instance if the function is successfully called.| 2285 2286**Returns** 2287 2288In [Camera_ErrorCode] (#camera_errorcode-1): 2289 2290- **CAMERA_OK**: The operation is successful. 2291 2292- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2293 2294- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2295 2296 2297### OH_CameraManager_CreateCaptureSession() 2298 2299``` 2300Camera_ErrorCode OH_CameraManager_CreateCaptureSession(Camera_Manager* cameraManager, 2301 Camera_CaptureSession** captureSession) 2302``` 2303 2304**Description** 2305 2306Creates a **CaptureSession** instance. 2307 2308**Since**: 11 2309 2310**Parameters** 2311 2312| Name| Description| 2313| -------- | -------- | 2314| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2315| captureSession | Double pointer to the [Camera_CaptureSession](#camera_capturesession) instance if the function is successfully called.| 2316 2317**Returns** 2318 2319In [Camera_ErrorCode] (#camera_errorcode-1): 2320 2321- **CAMERA_OK**: The operation is successful. 2322 2323- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2324 2325- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2326 2327 2328### OH_CameraManager_CreateMetadataOutput() 2329 2330``` 2331Camera_ErrorCode OH_CameraManager_CreateMetadataOutput(Camera_Manager* cameraManager, const Camera_MetadataObjectType* profile, Camera_MetadataOutput** metadataOutput) 2332``` 2333 2334**Description** 2335 2336Creates a **MetadataOutput** instance. 2337 2338**Since**: 11 2339 2340**Parameters** 2341 2342| Name| Description| 2343| -------- | -------- | 2344| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2345| profile | Pointer to the profile, which is defined in [Camera_MetadataObjectType](#camera_metadataobjecttype).| 2346| metadataOutput | Double pointer to the [Camera_MetadataOutput](#camera_metadataoutput) instance if the function is successfully called.| 2347 2348**Returns** 2349 2350In [Camera_ErrorCode] (#camera_errorcode-1): 2351 2352- **CAMERA_OK**: The operation is successful. 2353 2354- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2355 2356- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2357 2358 2359### OH_CameraManager_CreatePhotoOutput() 2360 2361``` 2362Camera_ErrorCode OH_CameraManager_CreatePhotoOutput(Camera_Manager* cameraManager, const Camera_Profile* profile, const char* surfaceId, Camera_PhotoOutput** photoOutput) 2363``` 2364 2365**Description** 2366 2367Creates a **PhotoOutput** instance. 2368 2369**Since**: 11 2370 2371**Parameters** 2372 2373| Name| Description| 2374| -------- | -------- | 2375| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2376| profile | Pointer to the profile, which is defined in [Camera_Profile](_camera___profile.md).| 2377| surfaceId | Pointer to the surface ID.| 2378| photoOutput | Double pointer to the [Camera_PhotoOutput](#camera_photooutput) instance if the function is successfully called.| 2379 2380**Returns** 2381 2382In [Camera_ErrorCode] (#camera_errorcode-1): 2383 2384- **CAMERA_OK**: The operation is successful. 2385 2386- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2387 2388- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2389 2390 2391### OH_CameraManager_CreatePhotoOutputUsedInPreconfig() 2392 2393``` 2394Camera_ErrorCode OH_CameraManager_CreatePhotoOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_PhotoOutput** photoOutput) 2395``` 2396 2397**Description** 2398 2399Creates a **PhotoOutput** instance to be used in a preconfiguration stream. 2400 2401**Since**: 12 2402 2403**Parameters** 2404 2405| Name| Description| 2406| -------- | -------- | 2407| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2408| surfaceId | Pointer to the surface ID.| 2409| photoOutput | Double pointer to the [Camera_PhotoOutput](#camera_photooutput) instance if the function is successfully called.| 2410 2411**Returns** 2412 2413In [Camera_ErrorCode] (#camera_errorcode-1): 2414 2415- **CAMERA_OK**: The operation is successful. 2416 2417- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2418 2419- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2420 2421 2422### OH_CameraManager_CreatePhotoOutputWithoutSurface() 2423 2424``` 2425Camera_ErrorCode OH_CameraManager_CreatePhotoOutputWithoutSurface(Camera_Manager *cameraManager, const Camera_Profile *profile, Camera_PhotoOutput **photoOutput) 2426``` 2427 2428**Description** 2429 2430Creates a **PhotoOutput** instance. **surfaceId** is not required in this function. 2431 2432**Since**: 12 2433 2434**Parameters** 2435 2436| Name| Description| 2437| -------- | -------- | 2438| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2439| profile | Pointer to the profile, which is defined in [Camera_Profile](_camera___profile.md).| 2440| photoOutput | Double pointer to the [Camera_PhotoOutput](#camera_photooutput) instance if the function is successfully called.| 2441 2442**Returns** 2443 2444In [Camera_ErrorCode] (#camera_errorcode-1): 2445 2446- **CAMERA_OK**: The operation is successful. 2447 2448- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2449 2450- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2451 2452 2453### OH_CameraManager_CreatePreviewOutput() 2454 2455``` 2456Camera_ErrorCode OH_CameraManager_CreatePreviewOutput(Camera_Manager* cameraManager, const Camera_Profile* profile, const char* surfaceId, Camera_PreviewOutput** previewOutput) 2457``` 2458 2459**Description** 2460 2461Creates a **PreviewOutput** instance. 2462 2463**Since**: 11 2464 2465**Parameters** 2466 2467| Name| Description| 2468| -------- | -------- | 2469| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2470| profile | Pointer to the profile, which is defined in [Camera_Profile](_camera___profile.md).| 2471| surfaceId | Pointer to the surface ID.| 2472| previewOutput | Double pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance if the function is successfully called.| 2473 2474**Returns** 2475 2476In [Camera_ErrorCode] (#camera_errorcode-1): 2477 2478- **CAMERA_OK**: The operation is successful. 2479 2480- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2481 2482- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2483 2484 2485### OH_CameraManager_CreatePreviewOutputUsedInPreconfig() 2486 2487``` 2488Camera_ErrorCode OH_CameraManager_CreatePreviewOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_PreviewOutput** previewOutput) 2489``` 2490 2491**Description** 2492 2493Creates a **PreviewOutput** instance to be used in a preconfiguration stream. 2494 2495**Since**: 12 2496 2497**Parameters** 2498 2499| Name| Description| 2500| -------- | -------- | 2501| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2502| surfaceId | Pointer to the surface ID.| 2503| previewOutput | Double pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance if the function is successfully called.| 2504 2505**Returns** 2506 2507In [Camera_ErrorCode] (#camera_errorcode-1): 2508 2509- **CAMERA_OK**: The operation is successful. 2510 2511- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2512 2513- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2514 2515 2516### OH_CameraManager_CreateVideoOutput() 2517 2518``` 2519Camera_ErrorCode OH_CameraManager_CreateVideoOutput(Camera_Manager* cameraManager, const Camera_VideoProfile* profile, const char* surfaceId, Camera_VideoOutput** videoOutput) 2520``` 2521 2522**Description** 2523 2524Creates a **VideoOutput** instance. 2525 2526**Since**: 11 2527 2528**Parameters** 2529 2530| Name| Description| 2531| -------- | -------- | 2532| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2533| profile | Pointer to the profile, which is defined in the [Camera_VideoProfile](_camera___video_profile.md) struct.| 2534| surfaceId | Pointer to the surface ID.| 2535| videoOutput | Double pointer to the [Camera_VideoOutput](#camera_videooutput) instance if the function is successfully called.| 2536 2537**Returns** 2538 2539In [Camera_ErrorCode] (#camera_errorcode-1): 2540 2541- **CAMERA_OK**: The operation is successful. 2542 2543- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2544 2545- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2546 2547 2548### OH_CameraManager_CreateVideoOutputUsedInPreconfig() 2549 2550``` 2551Camera_ErrorCode OH_CameraManager_CreateVideoOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_VideoOutput** videoOutput) 2552``` 2553 2554**Description** 2555 2556Creates a **VideoOutput** instance to be used in a preconfiguration stream. 2557 2558**Since**: 12 2559 2560**Parameters** 2561 2562| Name| Description| 2563| -------- | -------- | 2564| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2565| surfaceId | Pointer to the surface ID.| 2566| videoOutput | Double pointer to the [Camera_VideoOutput](#camera_videooutput) instance if the function is successfully called.| 2567 2568**Returns** 2569 2570In [Camera_ErrorCode] (#camera_errorcode-1): 2571 2572- **CAMERA_OK**: The operation is successful. 2573 2574- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2575 2576- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2577 2578 2579### OH_CameraManager_DeleteSceneModes() 2580 2581``` 2582Camera_ErrorCode OH_CameraManager_DeleteSceneModes(Camera_Manager* cameraManager, Camera_SceneMode* sceneModes) 2583``` 2584 2585**Description** 2586 2587Deletes scene modes. 2588 2589**Since**: 12 2590 2591**Parameters** 2592 2593| Name| Description| 2594| -------- | -------- | 2595| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2596| sceneModes | Target scene modes, which are defined in [Camera_SceneMode](#camera_scenemode).| 2597 2598**Returns** 2599 2600In [Camera_ErrorCode] (#camera_errorcode-1): 2601 2602- **CAMERA_OK**: The operation is successful. 2603 2604- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2605 2606 2607### OH_CameraManager_DeleteSupportedCameraOutputCapability() 2608 2609``` 2610Camera_ErrorCode OH_CameraManager_DeleteSupportedCameraOutputCapability(Camera_Manager* cameraManager, Camera_OutputCapability* cameraOutputCapability) 2611``` 2612 2613**Description** 2614 2615Deletes the output capability supported by a camera. 2616 2617**Since**: 11 2618 2619**Parameters** 2620 2621| Name| Description| 2622| -------- | -------- | 2623| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2624| cameraOutputCapability | Pointer to the output capability, which is defined in the [Camera_OutputCapability](_camera___output_capability.md) struct.| 2625 2626**Returns** 2627 2628In [Camera_ErrorCode] (#camera_errorcode-1): 2629 2630- **CAMERA_OK**: The operation is successful. 2631 2632- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2633 2634 2635### OH_CameraManager_DeleteSupportedCameras() 2636 2637``` 2638Camera_ErrorCode OH_CameraManager_DeleteSupportedCameras(Camera_Manager* cameraManager, Camera_Device* cameras, uint32_t size) 2639``` 2640 2641**Description** 2642 2643Deletes supported cameras. 2644 2645**Since**: 11 2646 2647**Parameters** 2648 2649| Name| Description| 2650| -------- | -------- | 2651| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2652| cameras | Pointer to a list of cameras, which are defined in [Camera_Device](_camera___device.md).| 2653 2654**Returns** 2655 2656In [Camera_ErrorCode] (#camera_errorcode-1): 2657 2658- **CAMERA_OK**: The operation is successful. 2659 2660- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2661 2662 2663### OH_CameraManager_GetSupportedCameraOutputCapability() 2664 2665``` 2666Camera_ErrorCode OH_CameraManager_GetSupportedCameraOutputCapability(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_OutputCapability** cameraOutputCapability) 2667``` 2668 2669**Description** 2670 2671Obtains the output capability supported by a camera. 2672 2673**Since**: 11 2674 2675**Parameters** 2676 2677| Name| Description| 2678| -------- | -------- | 2679| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2680| camera | Pointer to a camera, which is defined in [Camera_Device](_camera___device.md).| 2681| cameraOutputCapability | Double pointer to the output capability, which is defined in [Camera_OutputCapability](_camera___output_capability.md), if the function is successfully called.| 2682 2683**Returns** 2684 2685In [Camera_ErrorCode] (#camera_errorcode-1): 2686 2687- **CAMERA_OK**: The operation is successful. 2688 2689- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2690 2691 2692### OH_CameraManager_GetSupportedCameraOutputCapabilityWithSceneMode() 2693 2694``` 2695Camera_ErrorCode OH_CameraManager_GetSupportedCameraOutputCapabilityWithSceneMode(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_SceneMode sceneMode, Camera_OutputCapability** cameraOutputCapability) 2696``` 2697 2698**Description** 2699 2700Obtains the output capability supported by a camera in the specified mode. 2701 2702**Since**: 12 2703 2704**Parameters** 2705 2706| Name| Description| 2707| -------- | -------- | 2708| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2709| camera | Pointer to a camera, which is defined in [Camera_Device](_camera___device.md).| 2710| sceneMode | Scene mode, which is defined in [Camera_SceneMode](#camera_scenemode).| 2711| cameraOutputCapability | Double pointer to output capability, which is defined in [Camera_OutputCapability](_camera___output_capability.md), if the function is successfully called.| 2712 2713**Returns** 2714 2715In [Camera_ErrorCode] (#camera_errorcode-1): 2716 2717- **CAMERA_OK**: The operation is successful. 2718 2719- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2720 2721- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2722 2723 2724### OH_CameraManager_GetSupportedCameras() 2725 2726``` 2727Camera_ErrorCode OH_CameraManager_GetSupportedCameras(Camera_Manager* cameraManager, Camera_Device** cameras, uint32_t* size) 2728``` 2729 2730**Description** 2731 2732Obtains supported cameras. 2733 2734**Since**: 11 2735 2736**Parameters** 2737 2738| Name| Description| 2739| -------- | -------- | 2740| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2741| cameras | Double pointer to the list of cameras, which is defined in [Camera_Device](_camera___device.md), if the function is successfully called.| 2742| size | Pointer to the size of the list of cameras.| 2743 2744**Returns** 2745 2746In [Camera_ErrorCode] (#camera_errorcode-1): 2747 2748- **CAMERA_OK**: The operation is successful. 2749 2750- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2751 2752 2753### OH_CameraManager_GetSupportedSceneModes() 2754 2755``` 2756Camera_ErrorCode OH_CameraManager_GetSupportedSceneModes(Camera_Device* camera, Camera_SceneMode** sceneModes, uint32_t* size) 2757``` 2758 2759**Description** 2760 2761Obtains the scene modes supported by a camera. 2762 2763**Since**: 12 2764 2765**Parameters** 2766 2767| Name| Description| 2768| -------- | -------- | 2769| camera | Pointer to a camera, which is defined in [Camera_Device](_camera___device.md).| 2770| sceneModes | Double pointer to the list of scene modes, which are defined in [Camera_SceneMode](#camera_scenemode), if the function is successfully called.| 2771| size | Pointer to the size of the list of scene modes.| 2772 2773**Returns** 2774 2775In [Camera_ErrorCode] (#camera_errorcode-1): 2776 2777- **CAMERA_OK**: The operation is successful. 2778 2779- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2780 2781- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2782 2783 2784### OH_CameraManager_IsCameraMuted() 2785 2786``` 2787Camera_ErrorCode OH_CameraManager_IsCameraMuted(Camera_Manager* cameraManager, bool* isCameraMuted) 2788``` 2789 2790**Description** 2791 2792Checks whether a camera is muted. 2793 2794**Since**: 11 2795 2796**Parameters** 2797 2798| Name| Description| 2799| -------- | -------- | 2800| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2801| isCameraMuted | Pointer to the result that specifies whether the camera is muted if the function is successfully called.| 2802 2803**Returns** 2804 2805In [Camera_ErrorCode] (#camera_errorcode-1): 2806 2807- **CAMERA_OK**: The operation is successful. 2808 2809- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2810 2811 2812### OH_CameraManager_IsTorchSupported() 2813 2814``` 2815Camera_ErrorCode OH_CameraManager_IsTorchSupported(Camera_Manager* cameraManager, bool* isTorchSupported) 2816``` 2817 2818**Description** 2819 2820Checks whether the device supports the flashlight. 2821 2822**Since**: 12 2823 2824**Parameters** 2825 2826| Name| Description| 2827| -------- | -------- | 2828| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2829| isTorchSupported | Pointer to the result indicating whether the device supports the flashlight.| 2830 2831**Returns** 2832 2833In [Camera_ErrorCode] (#camera_errorcode-1): 2834 2835- **CAMERA_OK**: The operation is successful. 2836 2837- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2838 2839 2840### OH_CameraManager_IsTorchSupportedByTorchMode() 2841 2842``` 2843Camera_ErrorCode OH_CameraManager_IsTorchSupportedByTorchMode(Camera_Manager* cameraManager, Camera_TorchMode torchMode, bool* isTorchSupported) 2844``` 2845 2846**Description** 2847 2848Checks whether the device supports the specified flashlight mode. 2849 2850**Since**: 12 2851 2852**Parameters** 2853 2854| Name| Description| 2855| -------- | -------- | 2856| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2857| torchMode | Target flashlight mode, which is defined in [Camera_TorchMode](#camera_torchmode-1).| 2858| isTorchSupported | Pointer to the result indicating whether the device supports the flashlight mode.| 2859 2860**Returns** 2861 2862In [Camera_ErrorCode] (#camera_errorcode-1): 2863 2864- **CAMERA_OK**: The operation is successful. 2865 2866- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2867 2868- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2869 2870 2871### OH_CameraManager_RegisterCallback() 2872 2873``` 2874Camera_ErrorCode OH_CameraManager_RegisterCallback(Camera_Manager* cameraManager, CameraManager_Callbacks* callback) 2875``` 2876 2877**Description** 2878 2879Registers a callback to listen for camera status changes. 2880 2881**Since**: 11 2882 2883**Parameters** 2884 2885| Name| Description| 2886| -------- | -------- | 2887| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2888| callback | Pointer to the target callback, which is defined in the [CameraManager_Callbacks](_camera_manager___callbacks.md) struct.| 2889 2890**Returns** 2891 2892In [Camera_ErrorCode] (#camera_errorcode-1): 2893 2894- **CAMERA_OK**: The operation is successful. 2895 2896- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2897 2898 2899### OH_CameraManager_RegisterTorchStatusCallback() 2900 2901``` 2902Camera_ErrorCode OH_CameraManager_RegisterTorchStatusCallback(Camera_Manager* cameraManager, OH_CameraManager_TorchStatusCallback torchStatusCallback) 2903``` 2904 2905**Description** 2906 2907Registers a callback to listen for flashlight status changes. 2908 2909**Since**: 12 2910 2911**Parameters** 2912 2913| Name| Description| 2914| -------- | -------- | 2915| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2916| torchStatusCallback | Target callback, which is defined in [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback).| 2917 2918**Returns** 2919 2920In [Camera_ErrorCode] (#camera_errorcode-1): 2921 2922- **CAMERA_OK**: The operation is successful. 2923 2924- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2925 2926 2927### OH_CameraManager_SetTorchMode() 2928 2929``` 2930Camera_ErrorCode OH_CameraManager_SetTorchMode(Camera_Manager* cameraManager, Camera_TorchMode torchMode) 2931``` 2932 2933**Description** 2934 2935Sets a flashlight mode. 2936 2937**Since**: 12 2938 2939**Parameters** 2940 2941| Name| Description| 2942| -------- | -------- | 2943| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2944| torchMode | Target flashlight mode, which is defined in [Camera_TorchMode](#camera_torchmode).| 2945 2946**Returns** 2947 2948In [Camera_ErrorCode] (#camera_errorcode-1): 2949 2950- **CAMERA_OK**: The operation is successful. 2951 2952- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2953 2954- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 2955 2956 2957### OH_CameraManager_UnregisterCallback() 2958 2959``` 2960Camera_ErrorCode OH_CameraManager_UnregisterCallback(Camera_Manager* cameraManager, CameraManager_Callbacks* callback) 2961``` 2962 2963**Description** 2964 2965Unregisters the callback used to listen for camera status changes. 2966 2967**Since**: 11 2968 2969**Parameters** 2970 2971| Name| Description| 2972| -------- | -------- | 2973| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 2974| callback | Pointer to the target callback, which is defined in the [CameraManager_Callbacks](_camera_manager___callbacks.md) struct.| 2975 2976**Returns** 2977 2978In [Camera_ErrorCode] (#camera_errorcode-1): 2979 2980- **CAMERA_OK**: The operation is successful. 2981 2982- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 2983 2984 2985### OH_CameraManager_UnregisterTorchStatusCallback() 2986 2987``` 2988Camera_ErrorCode OH_CameraManager_UnregisterTorchStatusCallback(Camera_Manager* cameraManager, OH_CameraManager_TorchStatusCallback torchStatusCallback) 2989``` 2990 2991**Description** 2992 2993Unregisters the callback used to listen for flashlight status changes. 2994 2995**Since**: 12 2996 2997**Parameters** 2998 2999| Name| Description| 3000| -------- | -------- | 3001| cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| 3002| torchStatusCallback | Target callback, which is defined in [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback).| 3003 3004**Returns** 3005 3006In [Camera_ErrorCode] (#camera_errorcode-1): 3007 3008- **CAMERA_OK**: The operation is successful. 3009 3010- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3011 3012 3013 3014### OH_CaptureSession_AddInput() 3015 3016``` 3017Camera_ErrorCode OH_CaptureSession_AddInput(Camera_CaptureSession* session, Camera_Input* cameraInput) 3018``` 3019 3020**Description** 3021 3022Adds a **CameraInput** instance to a session. 3023 3024**Since**: 11 3025 3026**Parameters** 3027 3028| Name| Description| 3029| -------- | -------- | 3030| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3031| cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| 3032 3033**Returns** 3034 3035In [Camera_ErrorCode] (#camera_errorcode-1): 3036 3037- **CAMERA_OK**: The operation is successful. 3038 3039- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3040 3041- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 3042 3043 3044### OH_CaptureSession_AddMetadataOutput() 3045 3046``` 3047Camera_ErrorCode OH_CaptureSession_AddMetadataOutput(Camera_CaptureSession* session, Camera_MetadataOutput* metadataOutput) 3048``` 3049 3050**Description** 3051 3052Adds a **MetadataOutput** instance to a session. 3053 3054**Since**: 11 3055 3056**Parameters** 3057 3058| Name| Description| 3059| -------- | -------- | 3060| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3061| metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| 3062 3063**Returns** 3064 3065In [Camera_ErrorCode] (#camera_errorcode-1): 3066 3067- **CAMERA_OK**: The operation is successful. 3068 3069- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3070 3071- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 3072 3073 3074### OH_CaptureSession_AddPhotoOutput() 3075 3076``` 3077Camera_ErrorCode OH_CaptureSession_AddPhotoOutput(Camera_CaptureSession* session, Camera_PhotoOutput* photoOutput) 3078``` 3079 3080**Description** 3081 3082Adds a **PhotoOutput** instance to a session. 3083 3084**Since**: 11 3085 3086**Parameters** 3087 3088| Name| Description| 3089| -------- | -------- | 3090| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3091| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 3092 3093**Returns** 3094 3095In [Camera_ErrorCode] (#camera_errorcode-1): 3096 3097- **CAMERA_OK**: The operation is successful. 3098 3099- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3100 3101- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 3102 3103 3104### OH_CaptureSession_AddPreviewOutput() 3105 3106``` 3107Camera_ErrorCode OH_CaptureSession_AddPreviewOutput(Camera_CaptureSession* session, Camera_PreviewOutput* previewOutput) 3108``` 3109 3110**Description** 3111 3112Adds a **PreviewOutput** instance to a session. 3113 3114**Since**: 11 3115 3116**Parameters** 3117 3118| Name| Description| 3119| -------- | -------- | 3120| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3121| previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 3122 3123**Returns** 3124 3125In [Camera_ErrorCode] (#camera_errorcode-1): 3126 3127- **CAMERA_OK**: The operation is successful. 3128 3129- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3130 3131- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 3132 3133 3134### OH_CaptureSession_AddSecureOutput() 3135 3136``` 3137Camera_ErrorCode OH_CaptureSession_AddSecureOutput(Camera_CaptureSession* session, Camera_PreviewOutput* previewOutput) 3138``` 3139 3140**Description** 3141 3142Marks a preview output stream as secure output. 3143 3144**Since**: 12 3145 3146**Parameters** 3147 3148| Name| Description| 3149| -------- | -------- | 3150| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3151| previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 3152 3153**Returns** 3154 3155In [Camera_ErrorCode] (#camera_errorcode-1): 3156 3157- **CAMERA_OK**: The operation is successful. 3158 3159- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3160 3161- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 3162 3163- **CAMERA_SESSION_CONFIG_LOCKED**: The session configuration is locked. 3164 3165 3166### OH_CaptureSession_AddVideoOutput() 3167 3168``` 3169Camera_ErrorCode OH_CaptureSession_AddVideoOutput(Camera_CaptureSession* session, Camera_VideoOutput* videoOutput) 3170``` 3171 3172**Description** 3173 3174Adds a **VideoOutput** instance to a session. 3175 3176**Since**: 11 3177 3178**Parameters** 3179 3180| Name| Description| 3181| -------- | -------- | 3182| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3183| videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| 3184 3185**Returns** 3186 3187In [Camera_ErrorCode] (#camera_errorcode-1): 3188 3189- **CAMERA_OK**: The operation is successful. 3190 3191- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3192 3193- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 3194 3195 3196### OH_CaptureSession_BeginConfig() 3197 3198``` 3199Camera_ErrorCode OH_CaptureSession_BeginConfig(Camera_CaptureSession* session) 3200``` 3201 3202**Description** 3203 3204Starts the configuration for a capture session. 3205 3206**Since**: 11 3207 3208**Parameters** 3209 3210| Name| Description| 3211| -------- | -------- | 3212| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3213 3214**Returns** 3215 3216In [Camera_ErrorCode] (#camera_errorcode-1): 3217 3218- **CAMERA_OK**: The operation is successful. 3219 3220- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3221 3222- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 3223 3224 3225### OH_CaptureSession_CanAddInput() 3226 3227``` 3228Camera_ErrorCode OH_CaptureSession_CanAddInput(Camera_CaptureSession* session, Camera_Input* cameraInput, bool* isSuccessful) 3229``` 3230 3231**Description** 3232 3233Checks whether a **CameraInput** instance can be added to a session. 3234 3235**Since**: 12 3236 3237**Parameters** 3238 3239| Name| Description| 3240| -------- | -------- | 3241| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3242| cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| 3243| isSuccessful | Pointer to the result indicating whether the **CameraInput** instance can be added to the session.| 3244 3245**Returns** 3246 3247In [Camera_ErrorCode] (#camera_errorcode-1): 3248 3249- **CAMERA_OK**: The operation is successful. 3250 3251- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3252 3253 3254### OH_CaptureSession_CanAddPhotoOutput() 3255 3256``` 3257Camera_ErrorCode OH_CaptureSession_CanAddPhotoOutput(Camera_CaptureSession* session, Camera_PhotoOutput* cameraOutput, bool* isSuccessful) 3258``` 3259 3260**Description** 3261 3262Checks whether a **PhotoOutput** instance can be added to a session. 3263 3264**Since**: 12 3265 3266**Parameters** 3267 3268| Name| Description| 3269| -------- | -------- | 3270| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3271| cameraOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 3272| isSuccessful | Pointer to the result indicating whether the **PhotoOutput** instance can be added to the session.| 3273 3274**Returns** 3275 3276In [Camera_ErrorCode] (#camera_errorcode-1): 3277 3278- **CAMERA_OK**: The operation is successful. 3279 3280- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3281 3282 3283### OH_CaptureSession_CanAddPreviewOutput() 3284 3285``` 3286Camera_ErrorCode OH_CaptureSession_CanAddPreviewOutput(Camera_CaptureSession* session, Camera_PreviewOutput* cameraOutput, bool* isSuccessful) 3287``` 3288 3289**Description** 3290 3291Checks whether a **PreviewOutput** instance can be added to a session. 3292 3293**Since**: 12 3294 3295**Parameters** 3296 3297| Name| Description| 3298| -------- | -------- | 3299| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3300| cameraOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 3301| isSuccessful | Pointer to the result indicating whether the **PreviewOutput** instance can be added to the session.| 3302 3303**Returns** 3304 3305In [Camera_ErrorCode] (#camera_errorcode-1): 3306 3307- **CAMERA_OK**: The operation is successful. 3308 3309- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3310 3311 3312### OH_CaptureSession_CanAddVideoOutput() 3313 3314``` 3315Camera_ErrorCode OH_CaptureSession_CanAddVideoOutput(Camera_CaptureSession* session, Camera_VideoOutput* cameraOutput, bool* isSuccessful) 3316``` 3317 3318**Description** 3319 3320Checks whether a **VideoOutput** instance can be added to a session. 3321 3322**Since**: 12 3323 3324**Parameters** 3325 3326| Name| Description| 3327| -------- | -------- | 3328| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3329| cameraOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| 3330| isSuccessful | Pointer to the result indicating whether the **VideoOutput** instance can be added to the session.| 3331 3332**Returns** 3333 3334In [Camera_ErrorCode] (#camera_errorcode-1): 3335 3336- **CAMERA_OK**: The operation is successful. 3337 3338- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3339 3340 3341### OH_CaptureSession_CanPreconfig() 3342 3343``` 3344Camera_ErrorCode OH_CaptureSession_CanPreconfig(Camera_CaptureSession* session, Camera_PreconfigType preconfigType, bool* canPreconfig) 3345``` 3346 3347**Description** 3348 3349Checks whether a preconfigured resolution type is supported. 3350 3351**Since**: 12 3352 3353**Parameters** 3354 3355| Name| Description| 3356| -------- | -------- | 3357| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3358| preconfigType | Target resolution type, which is defined in [Camera_PreconfigType](#camera_preconfigtype).| 3359| canPreconfig | Pointer to the result indicating whether the preconfigured resolution type is supported.| 3360 3361**Returns** 3362 3363In [Camera_ErrorCode] (#camera_errorcode-1): 3364 3365- **CAMERA_OK**: The operation is successful. 3366 3367- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3368 3369 3370### OH_CaptureSession_CanPreconfigWithRatio() 3371 3372``` 3373Camera_ErrorCode OH_CaptureSession_CanPreconfigWithRatio(Camera_CaptureSession* session, Camera_PreconfigType preconfigType, Camera_PreconfigRatio preconfigRatio, bool* canPreconfig) 3374``` 3375 3376**Description** 3377 3378Checks whether a preconfigured resolution type with an aspect ratio is supported. 3379 3380**Since**: 12 3381 3382**Parameters** 3383 3384| Name| Description| 3385| -------- | -------- | 3386| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3387| preconfigType | Target resolution type, which is defined in [Camera_PreconfigType](#camera_preconfigtype).| 3388| preconfigRatio | Target aspect ratio, which is defined in [Camera_PreconfigRatio](#camera_preconfigratio).| 3389| canPreconfig | Pointer to the result indicating whether the preconfigured resolution type with the aspect ratio is supported.| 3390 3391**Returns** 3392 3393In [Camera_ErrorCode] (#camera_errorcode-1): 3394 3395- **CAMERA_OK**: The operation is successful. 3396 3397- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3398 3399 3400### OH_CaptureSession_CommitConfig() 3401 3402``` 3403Camera_ErrorCode OH_CaptureSession_CommitConfig(Camera_CaptureSession* session) 3404``` 3405 3406**Description** 3407 3408Commits the configuration for a capture session. 3409 3410**Since**: 11 3411 3412**Parameters** 3413 3414| Name| Description| 3415| -------- | -------- | 3416| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3417 3418**Returns** 3419 3420In [Camera_ErrorCode] (#camera_errorcode-1): 3421 3422- **CAMERA_OK**: The operation is successful. 3423 3424- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3425 3426- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 3427 3428- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 3429 3430 3431### OH_CaptureSession_DeleteColorSpaces() 3432 3433``` 3434Camera_ErrorCode OH_CaptureSession_DeleteColorSpaces(Camera_CaptureSession* session, OH_NativeBuffer_ColorSpace* colorSpace) 3435``` 3436 3437**Description** 3438 3439Deletes color spaces. 3440 3441**Since**: 12 3442 3443**Parameters** 3444 3445| Name| Description| 3446| -------- | -------- | 3447| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3448| colorSpace | Pointer to the list of color spaces, which are defined in [OH_NativeBuffer_ColorSpace](../apis-arkgraphics2d/_o_h___native_buffer.md#oh_nativebuffer_colorspace-1).| 3449 3450**Returns** 3451 3452In [Camera_ErrorCode] (#camera_errorcode-1): 3453 3454- **CAMERA_OK**: The operation is successful. 3455 3456- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3457 3458 3459### OH_CaptureSession_GetActiveColorSpace() 3460 3461``` 3462Camera_ErrorCode OH_CaptureSession_GetActiveColorSpace(Camera_CaptureSession* session, OH_NativeBuffer_ColorSpace* colorSpace) 3463``` 3464 3465**Description** 3466 3467Obtains the active color space. 3468 3469**Since**: 12 3470 3471**Parameters** 3472 3473| Name| Description| 3474| -------- | -------- | 3475| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3476| colorSpace | Pointer to the active color space, which is defined in [OH_NativeBuffer_ColorSpace](../apis-arkgraphics2d/_o_h___native_buffer.md#oh_nativebuffer_colorspace-1).| 3477 3478**Returns** 3479 3480In [Camera_ErrorCode] (#camera_errorcode-1): 3481 3482- **CAMERA_OK**: The operation is successful. 3483 3484- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3485 3486- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3487 3488 3489### OH_CaptureSession_GetExposureBias() 3490 3491``` 3492Camera_ErrorCode OH_CaptureSession_GetExposureBias(Camera_CaptureSession* session, float* exposureBias) 3493``` 3494 3495**Description** 3496 3497Obtains the exposure compensation value in use. 3498 3499**Since**: 11 3500 3501**Parameters** 3502 3503| Name| Description| 3504| -------- | -------- | 3505| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3506| exposureBias | Pointer to the exposure compensation value.| 3507 3508**Returns** 3509 3510In [Camera_ErrorCode] (#camera_errorcode-1): 3511 3512- **CAMERA_OK**: The operation is successful. 3513 3514- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3515 3516- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3517 3518 3519### OH_CaptureSession_GetExposureBiasRange() 3520 3521``` 3522Camera_ErrorCode OH_CaptureSession_GetExposureBiasRange(Camera_CaptureSession* session, float* minExposureBias, float* maxExposureBias, float* step) 3523``` 3524 3525**Description** 3526 3527Obtains the exposure compensation values of the device. 3528 3529**Since**: 11 3530 3531**Parameters** 3532 3533| Name| Description| 3534| -------- | -------- | 3535| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3536| minExposureBias | Pointer to the minimum exposure compensation value.| 3537| maxExposureBias | Pointer to the maximum exposure compensation value.| 3538| step | Pointer to the exposure compensation step.| 3539 3540**Returns** 3541 3542In [Camera_ErrorCode] (#camera_errorcode-1): 3543 3544- **CAMERA_OK**: The operation is successful. 3545 3546- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3547 3548- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3549 3550 3551### OH_CaptureSession_GetExposureMode() 3552 3553``` 3554Camera_ErrorCode OH_CaptureSession_GetExposureMode(Camera_CaptureSession* session, Camera_ExposureMode* exposureMode) 3555``` 3556 3557**Description** 3558 3559Obtains the exposure mode in use. 3560 3561**Since**: 11 3562 3563**Parameters** 3564 3565| Name| Description| 3566| -------- | -------- | 3567| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3568| exposureMode | Pointer to the exposure mode, which is defined in the [Camera_ExposureMode](#camera_exposuremode) struct.| 3569 3570**Returns** 3571 3572In [Camera_ErrorCode] (#camera_errorcode-1): 3573 3574- **CAMERA_OK**: The operation is successful. 3575 3576- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3577 3578- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3579 3580 3581### OH_CaptureSession_GetExposureValue() 3582 3583``` 3584Camera_ErrorCode OH_CaptureSession_GetExposureValue(Camera_CaptureSession* session, float* exposureValue) 3585``` 3586 3587**Description** 3588 3589Obtains the exposure value. 3590 3591**Since**: 12 3592 3593**Parameters** 3594 3595| Name| Description| 3596| -------- | -------- | 3597| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3598| exposureValue | Pointer to the exposure value.| 3599 3600**Returns** 3601 3602In [Camera_ErrorCode] (#camera_errorcode-1): 3603 3604- **CAMERA_OK**: The operation is successful. 3605 3606- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3607 3608- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 3609 3610 3611### OH_CaptureSession_GetFlashMode() 3612 3613``` 3614Camera_ErrorCode OH_CaptureSession_GetFlashMode(Camera_CaptureSession* session, Camera_FlashMode* flashMode) 3615``` 3616 3617**Description** 3618 3619Obtains the flash mode in use. 3620 3621**Since**: 11 3622 3623**Parameters** 3624 3625| Name| Description| 3626| -------- | -------- | 3627| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3628| flashMode | Pointer to the flash mode, which is defined in the [Camera_FlashMode](#camera_flashmode) struct.| 3629 3630**Returns** 3631 3632In [Camera_ErrorCode] (#camera_errorcode-1): 3633 3634- **CAMERA_OK**: The operation is successful. 3635 3636- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3637 3638- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3639 3640 3641### OH_CaptureSession_GetFocalLength() 3642 3643``` 3644Camera_ErrorCode OH_CaptureSession_GetFocalLength(Camera_CaptureSession* session, float* focalLength) 3645``` 3646 3647**Description** 3648 3649Obtains the current focal length. 3650 3651**Since**: 12 3652 3653**Parameters** 3654 3655| Name| Description| 3656| -------- | -------- | 3657| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3658| focalLength | Pointer to the focal length.| 3659 3660**Returns** 3661 3662In [Camera_ErrorCode] (#camera_errorcode-1): 3663 3664- **CAMERA_OK**: The operation is successful. 3665 3666- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3667 3668- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3669 3670 3671### OH_CaptureSession_GetFocusMode() 3672 3673``` 3674Camera_ErrorCode OH_CaptureSession_GetFocusMode(Camera_CaptureSession* session, Camera_FocusMode* focusMode) 3675``` 3676 3677**Description** 3678 3679Obtains the focus mode in use. 3680 3681**Since**: 11 3682 3683**Parameters** 3684 3685| Name| Description| 3686| -------- | -------- | 3687| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3688| exposureBias | Pointer to the focus mode, which is defined in the [Camera_FocusMode](#camera_focusmode) struct.| 3689 3690**Returns** 3691 3692In [Camera_ErrorCode] (#camera_errorcode-1): 3693 3694- **CAMERA_OK**: The operation is successful. 3695 3696- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3697 3698- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3699 3700 3701### OH_CaptureSession_GetFocusPoint() 3702 3703``` 3704Camera_ErrorCode OH_CaptureSession_GetFocusPoint(Camera_CaptureSession* session, Camera_Point* focusPoint) 3705``` 3706 3707**Description** 3708 3709Obtains the focal point in use. 3710 3711**Since**: 11 3712 3713**Parameters** 3714 3715| Name| Description| 3716| -------- | -------- | 3717| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3718| focusPoint | Pointer to the focal point, which is defined in the [Camera_Point](_camera___point.md) struct.| 3719 3720**Returns** 3721 3722In [Camera_ErrorCode] (#camera_errorcode-1): 3723 3724- **CAMERA_OK**: The operation is successful. 3725 3726- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3727 3728- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3729 3730 3731### OH_CaptureSession_GetMeteringPoint() 3732 3733``` 3734Camera_ErrorCode OH_CaptureSession_GetMeteringPoint(Camera_CaptureSession* session, Camera_Point* point) 3735``` 3736 3737**Description** 3738 3739Obtains the metering point in use. 3740 3741**Since**: 11 3742 3743**Parameters** 3744 3745| Name| Description| 3746| -------- | -------- | 3747| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3748| point | Pointer to the metering point, which is defined in the [Camera_Point](_camera___point.md) struct.| 3749 3750**Returns** 3751 3752In [Camera_ErrorCode] (#camera_errorcode-1): 3753 3754- **CAMERA_OK**: The operation is successful. 3755 3756- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3757 3758- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3759 3760 3761### OH_CaptureSession_GetSupportedColorSpaces() 3762 3763``` 3764Camera_ErrorCode OH_CaptureSession_GetSupportedColorSpaces(Camera_CaptureSession* session, OH_NativeBuffer_ColorSpace** colorSpace, uint32_t* size) 3765``` 3766 3767**Description** 3768 3769Obtains the supported color spaces. 3770 3771**Since**: 12 3772 3773**Parameters** 3774 3775| Name| Description| 3776| -------- | -------- | 3777| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3778| colorSpace | Double pointer to the list of color spaces, which are defined in [OH_NativeBuffer_ColorSpace](../apis-arkgraphics2d/_o_h___native_buffer.md#oh_nativebuffer_colorspace-1), if the function is successfully called.| 3779| size | Pointer to the size of the list of color spaces.| 3780 3781**Returns** 3782 3783In [Camera_ErrorCode] (#camera_errorcode-1): 3784 3785- **CAMERA_OK**: The operation is successful. 3786 3787- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3788 3789- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3790 3791 3792### OH_CaptureSession_GetVideoStabilizationMode() 3793 3794``` 3795Camera_ErrorCode OH_CaptureSession_GetVideoStabilizationMode(Camera_CaptureSession* session, Camera_VideoStabilizationMode* mode) 3796``` 3797 3798**Description** 3799 3800Obtains the video stabilization mode in use. 3801 3802**Since**: 11 3803 3804**Parameters** 3805 3806| Name| Description| 3807| -------- | -------- | 3808| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3809| mode | Pointer to the video stabilization mode, which is defined in the [Camera_VideoStabilizationMode](#camera_videostabilizationmode) struct.| 3810 3811**Returns** 3812 3813In [Camera_ErrorCode] (#camera_errorcode-1): 3814 3815- **CAMERA_OK**: The operation is successful. 3816 3817- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3818 3819- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3820 3821 3822### OH_CaptureSession_GetZoomRatio() 3823 3824``` 3825Camera_ErrorCode OH_CaptureSession_GetZoomRatio(Camera_CaptureSession* session, float* zoom) 3826``` 3827 3828**Description** 3829 3830Obtains the zoom ratio in use. 3831 3832**Since**: 11 3833 3834**Parameters** 3835 3836| Name| Description| 3837| -------- | -------- | 3838| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3839| zoom | Pointer to the zoom ratio.| 3840 3841**Returns** 3842 3843In [Camera_ErrorCode] (#camera_errorcode-1): 3844 3845- **CAMERA_OK**: The operation is successful. 3846 3847- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3848 3849- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3850 3851 3852### OH_CaptureSession_GetZoomRatioRange() 3853 3854``` 3855Camera_ErrorCode OH_CaptureSession_GetZoomRatioRange(Camera_CaptureSession* session, float* minZoom, float* maxZoom) 3856``` 3857 3858**Description** 3859 3860Obtains the supported zoom ratio range. 3861 3862**Since**: 11 3863 3864**Parameters** 3865 3866| Name| Description| 3867| -------- | -------- | 3868| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3869| minZoom | Pointer to the minimum zoom ratio.| 3870| maxZoom | Pointer to the maximum zoom ratio.| 3871 3872**Returns** 3873 3874In [Camera_ErrorCode] (#camera_errorcode-1): 3875 3876- **CAMERA_OK**: The operation is successful. 3877 3878- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3879 3880- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3881 3882 3883### OH_CaptureSession_HasFlash() 3884 3885``` 3886Camera_ErrorCode OH_CaptureSession_HasFlash(Camera_CaptureSession* session, bool* hasFlash) 3887``` 3888 3889**Description** 3890 3891Checks whether the device has flash. 3892 3893**Since**: 11 3894 3895**Parameters** 3896 3897| Name| Description| 3898| -------- | -------- | 3899| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3900| hasFlash | Pointer to the result that specifies whether the device has flash.| 3901 3902**Returns** 3903 3904In [Camera_ErrorCode] (#camera_errorcode-1): 3905 3906- **CAMERA_OK**: The operation is successful. 3907 3908- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3909 3910- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3911 3912 3913### OH_CaptureSession_IsExposureModeSupported() 3914 3915``` 3916Camera_ErrorCode OH_CaptureSession_IsExposureModeSupported(Camera_CaptureSession* session, Camera_ExposureMode exposureMode, bool* isSupported) 3917``` 3918 3919**Description** 3920 3921Checks whether an exposure mode is supported. 3922 3923**Since**: 11 3924 3925**Parameters** 3926 3927| Name| Description| 3928| -------- | -------- | 3929| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3930| exposureMode | Target exposure mode, which is defined in the [Camera_ExposureMode](#camera_exposuremode) struct.| 3931| isSupported | Pointer to the result that specifies whether the exposure mode is supported.| 3932 3933**Returns** 3934 3935In [Camera_ErrorCode] (#camera_errorcode-1): 3936 3937- **CAMERA_OK**: The operation is successful. 3938 3939- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3940 3941- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3942 3943 3944### OH_CaptureSession_IsFlashModeSupported() 3945 3946``` 3947Camera_ErrorCode OH_CaptureSession_IsFlashModeSupported(Camera_CaptureSession* session, Camera_FlashMode flashMode, bool* isSupported) 3948``` 3949 3950**Description** 3951 3952Checks whether a flash mode is supported. 3953 3954**Since**: 11 3955 3956**Parameters** 3957 3958| Name| Description| 3959| -------- | -------- | 3960| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3961| flashMode | Target flash mode, which is defined in the [Camera_FlashMode](#camera_flashmode) struct.| 3962| isSupported | Pointer to the result that specifies whether the flash mode is supported.| 3963 3964**Returns** 3965 3966In [Camera_ErrorCode] (#camera_errorcode-1): 3967 3968- **CAMERA_OK**: The operation is successful. 3969 3970- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 3971 3972- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 3973 3974 3975### OH_CaptureSession_IsFocusModeSupported() 3976 3977``` 3978Camera_ErrorCode OH_CaptureSession_IsFocusModeSupported(Camera_CaptureSession* session, Camera_FocusMode focusMode, bool* isSupported) 3979``` 3980 3981**Description** 3982 3983Checks whether a focus mode is supported. 3984 3985**Since**: 11 3986 3987**Parameters** 3988 3989| Name| Description| 3990| -------- | -------- | 3991| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 3992| focusMode | Target focus mode, which is defined in the [Camera_FocusMode](#camera_focusmode-1) struct.| 3993| isSupported | Pointer to the result that specifies whether the focus mode is supported.| 3994 3995**Returns** 3996 3997In [Camera_ErrorCode] (#camera_errorcode-1): 3998 3999- **CAMERA_OK**: The operation is successful. 4000 4001- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4002 4003- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4004 4005 4006### OH_CaptureSession_IsVideoStabilizationModeSupported() 4007 4008``` 4009Camera_ErrorCode OH_CaptureSession_IsVideoStabilizationModeSupported(Camera_CaptureSession* session, Camera_VideoStabilizationMode mode, bool* isSupported) 4010``` 4011 4012**Description** 4013 4014Checks whether a video stabilization mode is supported. 4015 4016**Since**: 11 4017 4018**Parameters** 4019 4020| Name| Description| 4021| -------- | -------- | 4022| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4023| mode | Target video stabilization mode, which is defined in the [Camera_VideoStabilizationMode](#camera_videostabilizationmode-1) struct.| 4024| isSupported | Pointer to the result that specifies whether the video stabilization mode is supported.| 4025 4026**Returns** 4027 4028In [Camera_ErrorCode] (#camera_errorcode-1): 4029 4030- **CAMERA_OK**: The operation is successful. 4031 4032- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4033 4034- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4035 4036 4037### OH_CaptureSession_Preconfig() 4038 4039``` 4040Camera_ErrorCode OH_CaptureSession_Preconfig(Camera_CaptureSession* session, Camera_PreconfigType preconfigType) 4041``` 4042 4043**Description** 4044 4045Sets a preconfigured resolution type. 4046 4047**Since**: 12 4048 4049**Parameters** 4050 4051| Name| Description| 4052| -------- | -------- | 4053| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4054| preconfigType | Target resolution type, which is defined in [Camera_PreconfigType](#camera_preconfigtype-1).| 4055 4056**Returns** 4057 4058In [Camera_ErrorCode] (#camera_errorcode-1): 4059 4060- **CAMERA_OK**: The operation is successful. 4061 4062- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4063 4064- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4065 4066- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 4067 4068 4069### OH_CaptureSession_PreconfigWithRatio() 4070 4071``` 4072Camera_ErrorCode OH_CaptureSession_PreconfigWithRatio(Camera_CaptureSession* session, Camera_PreconfigType preconfigType, Camera_PreconfigRatio preconfigRatio) 4073``` 4074 4075**Description** 4076 4077Sets a preconfigured resolution type with an aspect ratio. 4078 4079**Since**: 12 4080 4081**Parameters** 4082 4083| Name| Description| 4084| -------- | -------- | 4085| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4086| preconfigType | Target resolution type, which is defined in [Camera_PreconfigType](#camera_preconfigtype-1).| 4087| preconfigRatio | Target aspect ratio, which is defined in [Camera_PreconfigRatio](#camera_preconfigratio-1).| 4088 4089**Returns** 4090 4091In [Camera_ErrorCode] (#camera_errorcode-1): 4092 4093- **CAMERA_OK**: The operation is successful. 4094 4095- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4096 4097- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 4098 4099 4100### OH_CaptureSession_RegisterCallback() 4101 4102``` 4103Camera_ErrorCode OH_CaptureSession_RegisterCallback(Camera_CaptureSession* session, CaptureSession_Callbacks* callback) 4104``` 4105 4106**Description** 4107 4108Registers a callback to listen for capture session events. 4109 4110**Since**: 11 4111 4112**Parameters** 4113 4114| Name| Description| 4115| -------- | -------- | 4116| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4117| callback | Pointer to the target callback, which is defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct.| 4118 4119**Returns** 4120 4121In [Camera_ErrorCode] (#camera_errorcode-1): 4122 4123- **CAMERA_OK**: The operation is successful. 4124 4125- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4126 4127 4128### OH_CaptureSession_RegisterSmoothZoomInfoCallback() 4129 4130``` 4131Camera_ErrorCode OH_CaptureSession_RegisterSmoothZoomInfoCallback(Camera_CaptureSession* session, OH_CaptureSession_OnSmoothZoomInfo smoothZoomInfoCallback) 4132``` 4133 4134**Description** 4135 4136Registers a callback to listen for smooth zoom events. 4137 4138**Since**: 12 4139 4140**Parameters** 4141 4142| Name| Description| 4143| -------- | -------- | 4144| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4145| smoothZoomInfoCallback | Target callback, which is defined in [OH_CaptureSession_OnSmoothZoomInfo](#oh_capturesession_onsmoothzoominfo).| 4146 4147**Returns** 4148 4149In [Camera_ErrorCode] (#camera_errorcode-1): 4150 4151- **CAMERA_OK**: The operation is successful. 4152 4153- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4154 4155 4156### OH_CaptureSession_Release() 4157 4158``` 4159Camera_ErrorCode OH_CaptureSession_Release(Camera_CaptureSession* session) 4160``` 4161 4162**Description** 4163 4164Releases a **CaptureSession** instance. 4165 4166**Since**: 11 4167 4168**Parameters** 4169 4170| Name| Description| 4171| -------- | -------- | 4172| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4173 4174**Returns** 4175 4176In [Camera_ErrorCode] (#camera_errorcode-1): 4177 4178- **CAMERA_OK**: The operation is successful. 4179 4180- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4181 4182- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 4183 4184 4185### OH_CaptureSession_RemoveInput() 4186 4187``` 4188Camera_ErrorCode OH_CaptureSession_RemoveInput(Camera_CaptureSession* session, Camera_Input* cameraInput) 4189``` 4190 4191**Description** 4192 4193Removes a **CameraInput** instance from a session. 4194 4195**Since**: 11 4196 4197**Parameters** 4198 4199| Name| Description| 4200| -------- | -------- | 4201| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4202| cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| 4203 4204**Returns** 4205 4206In [Camera_ErrorCode] (#camera_errorcode-1): 4207 4208- **CAMERA_OK**: The operation is successful. 4209 4210- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4211 4212- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 4213 4214 4215### OH_CaptureSession_RemoveMetadataOutput() 4216 4217``` 4218Camera_ErrorCode OH_CaptureSession_RemoveMetadataOutput(Camera_CaptureSession* session, Camera_MetadataOutput* metadataOutput) 4219``` 4220 4221**Description** 4222 4223Removes a **MetadataOutput** instance from a session. 4224 4225**Since**: 11 4226 4227**Parameters** 4228 4229| Name| Description| 4230| -------- | -------- | 4231| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4232| metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| 4233 4234**Returns** 4235 4236In [Camera_ErrorCode] (#camera_errorcode-1): 4237 4238- **CAMERA_OK**: The operation is successful. 4239 4240- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4241 4242- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 4243 4244 4245### OH_CaptureSession_RemovePhotoOutput() 4246 4247``` 4248Camera_ErrorCode OH_CaptureSession_RemovePhotoOutput(Camera_CaptureSession* session, Camera_PhotoOutput* photoOutput) 4249``` 4250 4251**Description** 4252 4253Removes a **PhotoOutput** instance from a session. 4254 4255**Since**: 11 4256 4257**Parameters** 4258 4259| Name| Description| 4260| -------- | -------- | 4261| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4262| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 4263 4264**Returns** 4265 4266In [Camera_ErrorCode] (#camera_errorcode-1): 4267 4268- **CAMERA_OK**: The operation is successful. 4269 4270- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4271 4272- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 4273 4274 4275### OH_CaptureSession_RemovePreviewOutput() 4276 4277``` 4278Camera_ErrorCode OH_CaptureSession_RemovePreviewOutput(Camera_CaptureSession* session, Camera_PreviewOutput* previewOutput) 4279``` 4280 4281**Description** 4282 4283Removes a **PreviewOutput** instance from a session. 4284 4285**Since**: 11 4286 4287**Parameters** 4288 4289| Name| Description| 4290| -------- | -------- | 4291| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4292| previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 4293 4294**Returns** 4295 4296In [Camera_ErrorCode] (#camera_errorcode-1): 4297 4298- **CAMERA_OK**: The operation is successful. 4299 4300- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4301 4302- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 4303 4304 4305### OH_CaptureSession_RemoveVideoOutput() 4306 4307``` 4308Camera_ErrorCode OH_CaptureSession_RemoveVideoOutput(Camera_CaptureSession* session, Camera_VideoOutput* videoOutput) 4309``` 4310 4311**Description** 4312 4313Removes a **VideoOutput** instance from a session. 4314 4315**Since**: 11 4316 4317**Parameters** 4318 4319| Name| Description| 4320| -------- | -------- | 4321| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4322| videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| 4323 4324**Returns** 4325 4326In [Camera_ErrorCode] (#camera_errorcode-1): 4327 4328- **CAMERA_OK**: The operation is successful. 4329 4330- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4331 4332- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 4333 4334 4335### OH_CaptureSession_SetActiveColorSpace() 4336 4337``` 4338Camera_ErrorCode OH_CaptureSession_SetActiveColorSpace(Camera_CaptureSession* session, OH_NativeBuffer_ColorSpace colorSpace) 4339``` 4340 4341**Description** 4342 4343Sets the active color space. 4344 4345**Since**: 12 4346 4347**Parameters** 4348 4349| Name| Description| 4350| -------- | -------- | 4351| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4352| colorSpace | Target color space, which is defined in [OH_NativeBuffer_ColorSpace](../apis-arkgraphics2d/_o_h___native_buffer.md#oh_nativebuffer_colorspace-1).| 4353 4354**Returns** 4355 4356In [Camera_ErrorCode] (#camera_errorcode-1): 4357 4358- **CAMERA_OK**: The operation is successful. 4359 4360- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4361 4362- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4363 4364 4365### OH_CaptureSession_SetExposureBias() 4366 4367``` 4368Camera_ErrorCode OH_CaptureSession_SetExposureBias(Camera_CaptureSession* session, float exposureBias) 4369``` 4370 4371**Description** 4372 4373Sets an exposure compensation value for the device. 4374 4375**Since**: 11 4376 4377**Parameters** 4378 4379| Name| Description| 4380| -------- | -------- | 4381| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4382| exposureBias | Target exposure compensation value.| 4383 4384**Returns** 4385 4386In [Camera_ErrorCode] (#camera_errorcode-1): 4387 4388- **CAMERA_OK**: The operation is successful. 4389 4390- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4391 4392- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4393 4394 4395### OH_CaptureSession_SetExposureMode() 4396 4397``` 4398Camera_ErrorCode OH_CaptureSession_SetExposureMode(Camera_CaptureSession* session, Camera_ExposureMode exposureMode) 4399``` 4400 4401**Description** 4402 4403Sets an exposure mode for the device. 4404 4405**Since**: 11 4406 4407**Parameters** 4408 4409| Name| Description| 4410| -------- | -------- | 4411| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4412| exposureMode | Target exposure mode, which is defined in [Camera_ExposureMode](#camera_exposuremode-1).| 4413 4414**Returns** 4415 4416In [Camera_ErrorCode] (#camera_errorcode-1): 4417 4418- **CAMERA_OK**: The operation is successful. 4419 4420- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4421 4422- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4423 4424 4425### OH_CaptureSession_SetFlashMode() 4426 4427``` 4428Camera_ErrorCode OH_CaptureSession_SetFlashMode(Camera_CaptureSession* session, Camera_FlashMode flashMode) 4429``` 4430 4431**Description** 4432 4433Sets a flash mode for the device. 4434 4435**Since**: 11 4436 4437**Parameters** 4438 4439| Name| Description| 4440| -------- | -------- | 4441| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4442| flashMode | Target flash mode, which is defined in [Camera_FlashMode](#camera_flashmode-1).| 4443 4444**Returns** 4445 4446In [Camera_ErrorCode] (#camera_errorcode-1): 4447 4448- **CAMERA_OK**: The operation is successful. 4449 4450- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4451 4452- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4453 4454 4455### OH_CaptureSession_SetFocusMode() 4456 4457``` 4458Camera_ErrorCode OH_CaptureSession_SetFocusMode(Camera_CaptureSession* session, Camera_FocusMode focusMode) 4459``` 4460 4461**Description** 4462 4463Sets a focus mode for the device. 4464 4465**Since**: 11 4466 4467**Parameters** 4468 4469| Name| Description| 4470| -------- | -------- | 4471| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4472| focusMode | Target focus mode, which is defined in [Camera_FocusMode](#camera_focusmode-1).| 4473 4474**Returns** 4475 4476In [Camera_ErrorCode] (#camera_errorcode-1): 4477 4478- **CAMERA_OK**: The operation is successful. 4479 4480- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4481 4482- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4483 4484 4485### OH_CaptureSession_SetFocusPoint() 4486 4487``` 4488Camera_ErrorCode OH_CaptureSession_SetFocusPoint(Camera_CaptureSession* session, Camera_Point focusPoint) 4489``` 4490 4491**Description** 4492 4493Sets a focal point for the device. 4494 4495**Since**: 11 4496 4497**Parameters** 4498 4499| Name| Description| 4500| -------- | -------- | 4501| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4502| focusPoint | Target focal point, which is defined in the [Camera_Point](_camera___point.md) struct.| 4503 4504**Returns** 4505 4506In [Camera_ErrorCode] (#camera_errorcode-1): 4507 4508- **CAMERA_OK**: The operation is successful. 4509 4510- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4511 4512- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4513 4514 4515### OH_CaptureSession_SetMeteringPoint() 4516 4517``` 4518Camera_ErrorCode OH_CaptureSession_SetMeteringPoint(Camera_CaptureSession* session, Camera_Point point) 4519``` 4520 4521**Description** 4522 4523Sets the metering point, which is the center point of the metering rectangle. 4524 4525**Since**: 11 4526 4527**Parameters** 4528 4529| Name| Description| 4530| -------- | -------- | 4531| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4532| point | Target metering point, which is defined in the [Camera_Point](_camera___point.md) struct.| 4533 4534**Returns** 4535 4536In [Camera_ErrorCode] (#camera_errorcode-1): 4537 4538- **CAMERA_OK**: The operation is successful. 4539 4540- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4541 4542- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4543 4544 4545### OH_CaptureSession_SetSessionMode() 4546 4547``` 4548Camera_ErrorCode OH_CaptureSession_SetSessionMode(Camera_CaptureSession* session, Camera_SceneMode sceneMode) 4549``` 4550 4551**Description** 4552 4553Sets a session mode. 4554 4555**Since**: 12 4556 4557**Parameters** 4558 4559| Name| Description| 4560| -------- | -------- | 4561| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4562| sceneMode | Target scene mode, which is an enumerated value of [CaptureSession_SceneMode](#camera_scenemode-1).| 4563 4564**Returns** 4565 4566In [Camera_ErrorCode] (#camera_errorcode-1): 4567 4568- **CAMERA_OK**: The operation is successful. 4569 4570- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4571 4572- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4573 4574- **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. 4575 4576- **CAMERA_SESSION_CONFIG_LOCKED**: The session configuration is locked. 4577 4578 4579### OH_CaptureSession_SetSmoothZoom() 4580 4581``` 4582Camera_ErrorCode OH_CaptureSession_SetSmoothZoom(Camera_CaptureSession* session, float targetZoom, Camera_SmoothZoomMode smoothZoomMode) 4583``` 4584 4585**Description** 4586 4587Sets smooth zoom. 4588 4589**Since**: 12 4590 4591**Parameters** 4592 4593| Name| Description| 4594| -------- | -------- | 4595| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4596| targetZoom | Target zoom ratio.| 4597| smoothZoomMode | [Camera_SmoothZoomMode](#camera_smoothzoommode) instance.| 4598 4599**Returns** 4600 4601In [Camera_ErrorCode] (#camera_errorcode-1): 4602 4603- **CAMERA_OK**: The operation is successful. 4604 4605- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4606 4607- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4608 4609 4610### OH_CaptureSession_SetVideoStabilizationMode() 4611 4612``` 4613Camera_ErrorCode OH_CaptureSession_SetVideoStabilizationMode(Camera_CaptureSession* session, Camera_VideoStabilizationMode mode) 4614``` 4615 4616**Description** 4617 4618Sets a video stabilization mode for the device. 4619 4620**Since**: 11 4621 4622**Parameters** 4623 4624| Name| Description| 4625| -------- | -------- | 4626| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4627| mode | Target video stabilization mode, which is defined in the [Camera_VideoStabilizationMode](#camera_videostabilizationmode) struct.| 4628 4629**Returns** 4630 4631In [Camera_ErrorCode] (#camera_errorcode-1): 4632 4633- **CAMERA_OK**: The operation is successful. 4634 4635- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4636 4637- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4638 4639 4640### OH_CaptureSession_SetZoomRatio() 4641 4642``` 4643Camera_ErrorCode OH_CaptureSession_SetZoomRatio(Camera_CaptureSession* session, float zoom) 4644``` 4645 4646**Description** 4647 4648Sets a zoom ratio for the device. 4649 4650**Since**: 11 4651 4652**Parameters** 4653 4654| Name| Description| 4655| -------- | -------- | 4656| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4657| zoom | Target zoom ratio.| 4658 4659**Returns** 4660 4661In [Camera_ErrorCode] (#camera_errorcode-1): 4662 4663- **CAMERA_OK**: The operation is successful. 4664 4665- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4666 4667- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4668 4669 4670### OH_CaptureSession_Start() 4671 4672``` 4673Camera_ErrorCode OH_CaptureSession_Start(Camera_CaptureSession* session) 4674``` 4675 4676**Description** 4677 4678Starts a capture session. 4679 4680**Since**: 11 4681 4682**Parameters** 4683 4684| Name| Description| 4685| -------- | -------- | 4686| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4687 4688**Returns** 4689 4690In [Camera_ErrorCode] (#camera_errorcode-1): 4691 4692- **CAMERA_OK**: The operation is successful. 4693 4694- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4695 4696- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4697 4698- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 4699 4700 4701### OH_CaptureSession_Stop() 4702 4703``` 4704Camera_ErrorCode OH_CaptureSession_Stop(Camera_CaptureSession* session) 4705``` 4706 4707**Description** 4708 4709Stops a capture session. 4710 4711**Since**: 11 4712 4713**Parameters** 4714 4715| Name| Description| 4716| -------- | -------- | 4717| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4718 4719**Returns** 4720 4721In [Camera_ErrorCode] (#camera_errorcode-1): 4722 4723- **CAMERA_OK**: The operation is successful. 4724 4725- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4726 4727- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 4728 4729 4730### OH_CaptureSession_UnregisterCallback() 4731 4732``` 4733Camera_ErrorCode OH_CaptureSession_UnregisterCallback(Camera_CaptureSession* session, CaptureSession_Callbacks* callback) 4734``` 4735 4736**Description** 4737 4738Unregisters the callback used to listen for capture session events. 4739 4740**Since**: 11 4741 4742**Parameters** 4743 4744| Name| Description| 4745| -------- | -------- | 4746| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4747| callback | Pointer to the target callback, which is defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct.| 4748 4749**Returns** 4750 4751In [Camera_ErrorCode] (#camera_errorcode-1): 4752 4753- **CAMERA_OK**: The operation is successful. 4754 4755- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4756 4757 4758### OH_CaptureSession_UnregisterSmoothZoomInfoCallback() 4759 4760``` 4761Camera_ErrorCode OH_CaptureSession_UnregisterSmoothZoomInfoCallback(Camera_CaptureSession* session, OH_CaptureSession_OnSmoothZoomInfo smoothZoomInfoCallback) 4762``` 4763 4764**Description** 4765 4766Unregisters the callback used to listen for smooth zoom events. 4767 4768**Since**: 12 4769 4770**Parameters** 4771 4772| Name| Description| 4773| -------- | -------- | 4774| session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| 4775| smoothZoomInfoCallback | Target callback, which is defined in [OH_CaptureSession_OnSmoothZoomInfo](#oh_capturesession_onsmoothzoominfo).| 4776 4777**Returns** 4778 4779In [Camera_ErrorCode] (#camera_errorcode-1): 4780 4781- **CAMERA_OK**: The operation is successful. 4782 4783- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4784 4785 4786### OH_MetadataOutput_RegisterCallback() 4787 4788``` 4789Camera_ErrorCode OH_MetadataOutput_RegisterCallback(Camera_MetadataOutput* metadataOutput, MetadataOutput_Callbacks* callback) 4790``` 4791 4792**Description** 4793 4794Registers a callback to listen for metadata output events. 4795 4796**Since**: 11 4797 4798**Parameters** 4799 4800| Name| Description| 4801| -------- | -------- | 4802| metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| 4803| callback | Pointer to the target callback, which is defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct.| 4804 4805**Returns** 4806 4807In [Camera_ErrorCode] (#camera_errorcode-1): 4808 4809- **CAMERA_OK**: The operation is successful. 4810 4811- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4812 4813 4814### OH_MetadataOutput_Release() 4815 4816``` 4817Camera_ErrorCode OH_MetadataOutput_Release(Camera_MetadataOutput* metadataOutput) 4818``` 4819 4820**Description** 4821 4822Releases a **MetadataOutput** instance. 4823 4824**Since**: 11 4825 4826**Parameters** 4827 4828| Name| Description| 4829| -------- | -------- | 4830| metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| 4831 4832**Returns** 4833 4834In [Camera_ErrorCode] (#camera_errorcode-1): 4835 4836- **CAMERA_OK**: The operation is successful. 4837 4838- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4839 4840- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 4841 4842 4843### OH_MetadataOutput_Start() 4844 4845``` 4846Camera_ErrorCode OH_MetadataOutput_Start(Camera_MetadataOutput* metadataOutput) 4847``` 4848 4849**Description** 4850 4851Starts metadata output. 4852 4853**Since**: 11 4854 4855**Parameters** 4856 4857| Name| Description| 4858| -------- | -------- | 4859| metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| 4860 4861**Returns** 4862 4863In [Camera_ErrorCode] (#camera_errorcode-1): 4864 4865- **CAMERA_OK**: The operation is successful. 4866 4867- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4868 4869- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 4870 4871- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 4872 4873 4874### OH_MetadataOutput_Stop() 4875 4876``` 4877Camera_ErrorCode OH_MetadataOutput_Stop(Camera_MetadataOutput* metadataOutput) 4878``` 4879 4880**Description** 4881 4882Stops metadata output. 4883 4884**Since**: 11 4885 4886**Parameters** 4887 4888| Name| Description| 4889| -------- | -------- | 4890| metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| 4891 4892**Returns** 4893 4894In [Camera_ErrorCode] (#camera_errorcode-1): 4895 4896- **CAMERA_OK**: The operation is successful. 4897 4898- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4899 4900- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 4901 4902 4903### OH_MetadataOutput_UnregisterCallback() 4904 4905``` 4906Camera_ErrorCode OH_MetadataOutput_UnregisterCallback(Camera_MetadataOutput* metadataOutput, MetadataOutput_Callbacks* callback) 4907``` 4908 4909**Description** 4910 4911Unregisters the callback used to listen for metadata output events. 4912 4913**Since**: 11 4914 4915**Parameters** 4916 4917| Name| Description| 4918| -------- | -------- | 4919| metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| 4920| callback | Pointer to the target callback, which is defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct.| 4921 4922**Returns** 4923 4924In [Camera_ErrorCode] (#camera_errorcode-1): 4925 4926- **CAMERA_OK**: The operation is successful. 4927 4928- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4929 4930 4931### OH_PhotoNative_GetMainImage() 4932 4933``` 4934Camera_ErrorCode OH_PhotoNative_GetMainImage(OH_PhotoNative* photo, OH_ImageNative** mainImage) 4935``` 4936 4937**Description** 4938 4939Obtains a full quality photo. 4940 4941**Since**: 12 4942 4943**Parameters** 4944 4945| Name| Description| 4946| -------- | -------- | 4947| photo | Pointer to an [OH_PhotoNative](#oh_photonative) instance.| 4948| mainImage | Double pointer to the full quality photo, which is an [OH_ImageNative](../apis-image-kit/_image___native_module.md#oh_imagenative) object.| 4949 4950**Returns** 4951 4952In [Camera_ErrorCode] (#camera_errorcode-1): 4953 4954- **CAMERA_OK**: The operation is successful. 4955 4956- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4957 4958 4959### OH_PhotoNative_Release() 4960 4961``` 4962Camera_ErrorCode OH_PhotoNative_Release(OH_PhotoNative* photo) 4963``` 4964 4965**Description** 4966 4967Releases a full quality photo. 4968 4969**Since**: 12 4970 4971**Parameters** 4972 4973| Name| Description| 4974| -------- | -------- | 4975| photo | Pointer to an [OH_PhotoNative](#oh_photonative) instance.| 4976 4977**Returns** 4978 4979In [Camera_ErrorCode] (#camera_errorcode-1): 4980 4981- **CAMERA_OK**: The operation is successful. 4982 4983- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 4984 4985 4986### OH_PhotoOutput_Capture() 4987 4988``` 4989Camera_ErrorCode OH_PhotoOutput_Capture(Camera_PhotoOutput* photoOutput) 4990``` 4991 4992**Description** 4993 4994Captures a photo. 4995 4996**Since**: 11 4997 4998**Parameters** 4999 5000| Name| Description| 5001| -------- | -------- | 5002| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5003 5004**Returns** 5005 5006In [Camera_ErrorCode] (#camera_errorcode-1): 5007 5008- **CAMERA_OK**: The operation is successful. 5009 5010- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5011 5012- **CAMERA_SESSION_NOT_RUNNING**: The capture session is not running. 5013 5014- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5015 5016 5017### OH_PhotoOutput_Capture_WithCaptureSetting() 5018 5019``` 5020Camera_ErrorCode OH_PhotoOutput_Capture_WithCaptureSetting(Camera_PhotoOutput* photoOutput, Camera_PhotoCaptureSetting setting) 5021``` 5022 5023**Description** 5024 5025Captures a photo with photographing parameters. 5026 5027**Since**: 11 5028 5029**Parameters** 5030 5031| Name| Description| 5032| -------- | -------- | 5033| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5034| setting | Photographing parameters, which are defined in the [Camera_PhotoCaptureSetting](_camera___photo_capture_setting.md) struct.| 5035 5036**Returns** 5037 5038In [Camera_ErrorCode] (#camera_errorcode-1): 5039 5040- **CAMERA_OK**: The operation is successful. 5041 5042- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5043 5044- **CAMERA_SESSION_NOT_RUNNING**: The capture session is not running. 5045 5046- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5047 5048 5049### OH_PhotoOutput_DeleteProfile() 5050 5051``` 5052Camera_ErrorCode OH_PhotoOutput_DeleteProfile(Camera_Profile* profile) 5053``` 5054 5055**Description** 5056 5057Deletes the profile of this **PhotoOutput** instance. 5058 5059**Since**: 12 5060 5061**Parameters** 5062 5063| Name| Description| 5064| -------- | -------- | 5065| profile | Pointer to a [Camera_Profile](_camera___profile.md) instance.| 5066 5067**Returns** 5068 5069In [Camera_ErrorCode] (#camera_errorcode-1): 5070 5071- **CAMERA_OK**: The operation is successful. 5072 5073- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5074 5075 5076### OH_PhotoOutput_EnableMovingPhoto() 5077 5078``` 5079Camera_ErrorCode OH_PhotoOutput_EnableMovingPhoto(Camera_PhotoOutput* photoOutput, bool enabled) 5080``` 5081 5082**Description** 5083 5084Enables moving photos. 5085 5086**Since**: 12 5087 5088**Parameters** 5089 5090| Name| Description| 5091| -------- | -------- | 5092| photoOutput | Pointer to a [Camera_PhotoOutput](#camera_photooutput) instance.| 5093| enabled | Whether to enable moving photos.| 5094 5095**Returns** 5096 5097In [Camera_ErrorCode] (#camera_errorcode-1): 5098 5099- **CAMERA_OK**: The operation is successful. 5100 5101- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5102 5103- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5104 5105 5106### OH_PhotoOutput_GetActiveProfile() 5107 5108``` 5109Camera_ErrorCode OH_PhotoOutput_GetActiveProfile(Camera_PhotoOutput* photoOutput, Camera_Profile** profile) 5110``` 5111 5112**Description** 5113 5114Obtains the profile of a **PhotoOutput** instance. 5115 5116**Since**: 12 5117 5118**Parameters** 5119 5120| Name| Description| 5121| -------- | -------- | 5122| photoOutput | Pointer to a [Camera_PhotoOutput](#camera_photooutput) instance.| 5123| profile | Double pointer to the profile, which is defined in [Camera_Profile](_camera___profile.md), if the function is successfully called.| 5124 5125**Returns** 5126 5127In [Camera_ErrorCode] (#camera_errorcode-1): 5128 5129- **CAMERA_OK**: The operation is successful. 5130 5131- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5132 5133- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5134 5135 5136### OH_PhotoOutput_IsMirrorSupported() 5137 5138``` 5139Camera_ErrorCode OH_PhotoOutput_IsMirrorSupported(Camera_PhotoOutput* photoOutput, bool* isSupported) 5140``` 5141 5142**Description** 5143 5144Checks whether mirroring is supported. 5145 5146**Since**: 11 5147 5148**Parameters** 5149 5150| Name| Description| 5151| -------- | -------- | 5152| photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance, which is used to check whether mirroring is supported.| 5153| isSupported | Pointer to the result that specifies whether mirroring is supported.| 5154 5155**Returns** 5156 5157In [Camera_ErrorCode] (#camera_errorcode-1): 5158 5159- **CAMERA_OK**: The operation is successful. 5160 5161- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5162 5163- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5164 5165 5166### OH_PhotoOutput_IsMovingPhotoSupported() 5167 5168``` 5169Camera_ErrorCode OH_PhotoOutput_IsMovingPhotoSupported(Camera_PhotoOutput* photoOutput, bool* isSupported) 5170``` 5171 5172**Description** 5173 5174Checks whether moving photos are supported. 5175 5176**Since**: 12 5177 5178**Parameters** 5179 5180| Name| Description| 5181| -------- | -------- | 5182| photoOutput | Pointer to a [Camera_PhotoOutput](#camera_photooutput) instance.| 5183| isSupported | Pointer to the result indicating whether moving photos are supported.| 5184 5185**Returns** 5186 5187In [Camera_ErrorCode] (#camera_errorcode-1): 5188 5189- **CAMERA_OK**: The operation is successful. 5190 5191- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5192 5193- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5194 5195 5196### OH_PhotoOutput_RegisterCallback() 5197 5198``` 5199Camera_ErrorCode OH_PhotoOutput_RegisterCallback(Camera_PhotoOutput* photoOutput, PhotoOutput_Callbacks* callback) 5200``` 5201 5202**Description** 5203 5204Registers a callback to listen for photo output events. 5205 5206**Since**: 11 5207 5208**Parameters** 5209 5210| Name| Description| 5211| -------- | -------- | 5212| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5213| callback | Pointer to the target callback, which is defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct.| 5214 5215**Returns** 5216 5217In [Camera_ErrorCode] (#camera_errorcode-1): 5218 5219- **CAMERA_OK**: The operation is successful. 5220 5221- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5222 5223 5224### OH_PhotoOutput_RegisterCaptureEndCallback() 5225 5226``` 5227Camera_ErrorCode OH_PhotoOutput_RegisterCaptureEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureEnd callback) 5228``` 5229 5230**Description** 5231 5232Registers a callback to listen for capture end events. 5233 5234**Since**: 12 5235 5236**Parameters** 5237 5238| Name| Description| 5239| -------- | -------- | 5240| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5241| callback | Target callback, which is defined in [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend).| 5242 5243**Returns** 5244 5245In [Camera_ErrorCode] (#camera_errorcode-1): 5246 5247- **CAMERA_OK**: The operation is successful. 5248 5249- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5250 5251 5252### OH_PhotoOutput_RegisterCaptureReadyCallback() 5253 5254``` 5255Camera_ErrorCode OH_PhotoOutput_RegisterCaptureReadyCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureReady callback) 5256``` 5257 5258**Description** 5259 5260Registers a callback to listen for camera ready events. When the callback is received, the next capture can be performed. 5261 5262**Since**: 12 5263 5264**Parameters** 5265 5266| Name| Description| 5267| -------- | -------- | 5268| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5269| callback | Target callback, which is defined in [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready).| 5270 5271**Returns** 5272 5273In [Camera_ErrorCode] (#camera_errorcode-1): 5274 5275- **CAMERA_OK**: The operation is successful. 5276 5277- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5278 5279 5280### OH_PhotoOutput_RegisterCaptureStartWithInfoCallback() 5281 5282``` 5283Camera_ErrorCode OH_PhotoOutput_RegisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureStartWithInfo callback) 5284``` 5285 5286**Description** 5287 5288Registers a callback to listen for capture start events. 5289 5290**Since**: 12 5291 5292**Parameters** 5293 5294| Name| Description| 5295| -------- | -------- | 5296| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5297| callback | Target callback, which is defined in [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo).| 5298 5299**Returns** 5300 5301In [Camera_ErrorCode] (#camera_errorcode-1): 5302 5303- **CAMERA_OK**: The operation is successful. 5304 5305- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5306 5307 5308### OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback() 5309 5310``` 5311Camera_ErrorCode OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_EstimatedCaptureDuration callback) 5312``` 5313 5314**Description** 5315 5316Registers a callback to listen for estimated capture duration events. 5317 5318**Since**: 12 5319 5320**Parameters** 5321 5322| Name| Description| 5323| -------- | -------- | 5324| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5325| callback | Target callback, which is defined in [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration).| 5326 5327**Returns** 5328 5329In [Camera_ErrorCode] (#camera_errorcode-1): 5330 5331- **CAMERA_OK**: The operation is successful. 5332 5333- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5334 5335 5336### OH_PhotoOutput_RegisterFrameShutterEndCallback() 5337 5338``` 5339Camera_ErrorCode OH_PhotoOutput_RegisterFrameShutterEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_OnFrameShutterEnd callback) 5340``` 5341 5342**Description** 5343 5344Registers a callback to listen for frame shutter end events. 5345 5346**Since**: 12 5347 5348**Parameters** 5349 5350| Name| Description| 5351| -------- | -------- | 5352| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5353| callback | Target callback, which is defined in [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend).| 5354 5355**Returns** 5356 5357In [Camera_ErrorCode] (#camera_errorcode-1): 5358 5359- **CAMERA_OK**: The operation is successful. 5360 5361- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5362 5363 5364### OH_PhotoOutput_RegisterPhotoAssetAvailableCallback() 5365 5366``` 5367Camera_ErrorCode OH_PhotoOutput_RegisterPhotoAssetAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAssetAvailable callback) 5368``` 5369 5370**Description** 5371 5372Registers a callback to listen for photo asset availability events. 5373 5374**Since**: 12 5375 5376**Parameters** 5377 5378| Name| Description| 5379| -------- | -------- | 5380| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5381| callback | Target callback, which is defined in [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable).| 5382 5383**Returns** 5384 5385In [Camera_ErrorCode] (#camera_errorcode-1): 5386 5387- **CAMERA_OK**: The operation is successful. 5388 5389- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5390 5391 5392### OH_PhotoOutput_RegisterPhotoAvailableCallback() 5393 5394``` 5395Camera_ErrorCode OH_PhotoOutput_RegisterPhotoAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAvailable callback) 5396``` 5397 5398**Description** 5399 5400Registers a callback to listen for photo availability events. 5401 5402**Since**: 12 5403 5404**Parameters** 5405 5406| Name| Description| 5407| -------- | -------- | 5408| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5409| callback | Target callback, which is defined in [OH_PhotoOutput_PhotoAvailable](#oh_photooutput_photoavailable).| 5410 5411**Returns** 5412 5413In [Camera_ErrorCode] (#camera_errorcode-1): 5414 5415- **CAMERA_OK**: The operation is successful. 5416 5417- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5418 5419 5420### OH_PhotoOutput_Release() 5421 5422``` 5423Camera_ErrorCode OH_PhotoOutput_Release(Camera_PhotoOutput* photoOutput) 5424``` 5425 5426**Description** 5427 5428Releases a **PhotoOutput** instance. 5429 5430**Since**: 11 5431 5432**Parameters** 5433 5434| Name| Description| 5435| -------- | -------- | 5436| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5437 5438**Returns** 5439 5440In [Camera_ErrorCode] (#camera_errorcode-1): 5441 5442- **CAMERA_OK**: The operation is successful. 5443 5444- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5445 5446- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5447 5448 5449### OH_PhotoOutput_UnregisterCallback() 5450 5451``` 5452Camera_ErrorCode OH_PhotoOutput_UnregisterCallback(Camera_PhotoOutput* photoOutput, PhotoOutput_Callbacks* callback) 5453``` 5454 5455**Description** 5456 5457Unregisters the callback used to listen for photo output events. 5458 5459**Since**: 11 5460 5461**Parameters** 5462 5463| Name| Description| 5464| -------- | -------- | 5465| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5466| callback | Pointer to the target callback, which is defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct.| 5467 5468**Returns** 5469 5470In [Camera_ErrorCode] (#camera_errorcode-1): 5471 5472- **CAMERA_OK**: The operation is successful. 5473 5474- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5475 5476 5477### OH_PhotoOutput_UnregisterCaptureEndCallback() 5478 5479``` 5480Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureEnd callback) 5481``` 5482 5483**Description** 5484 5485Unregisters the callback used to listen for capture end events. 5486 5487**Since**: 12 5488 5489**Parameters** 5490 5491| Name| Description| 5492| -------- | -------- | 5493| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5494| callback | Target callback, which is defined in [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend).| 5495 5496**Returns** 5497 5498In [Camera_ErrorCode] (#camera_errorcode-1): 5499 5500- **CAMERA_OK**: The operation is successful. 5501 5502- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5503 5504 5505### OH_PhotoOutput_UnregisterCaptureReadyCallback() 5506 5507``` 5508Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureReadyCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureReady callback) 5509``` 5510 5511**Description** 5512 5513Unregisters the callback used to listen for camera ready events. 5514 5515**Since**: 12 5516 5517**Parameters** 5518 5519| Name| Description| 5520| -------- | -------- | 5521| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5522| callback | Target callback, which is defined in [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready).| 5523 5524**Returns** 5525 5526In [Camera_ErrorCode] (#camera_errorcode-1): 5527 5528- **CAMERA_OK**: The operation is successful. 5529 5530- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5531 5532 5533 5534### OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback() 5535 5536``` 5537Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureStartWithInfo callback) 5538``` 5539 5540**Description** 5541 5542Unregisters the callback used to listen for capture start events. 5543 5544**Since**: 12 5545 5546**Parameters** 5547 5548| Name| Description| 5549| -------- | -------- | 5550| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5551| callback | Target callback, which is defined in [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo).| 5552 5553**Returns** 5554 5555In [Camera_ErrorCode] (#camera_errorcode-1): 5556 5557- **CAMERA_OK**: The operation is successful. 5558 5559- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5560 5561 5562### OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback() 5563 5564``` 5565Camera_ErrorCode OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_EstimatedCaptureDuration callback) 5566``` 5567 5568**Description** 5569 5570Unregisters the callback used to listen for estimated capture duration events. 5571 5572**Since**: 12 5573 5574**Parameters** 5575 5576| Name| Description| 5577| -------- | -------- | 5578| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5579| callback | Target callback, which is defined in [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration).| 5580 5581**Returns** 5582 5583In [Camera_ErrorCode] (#camera_errorcode-1): 5584 5585- **CAMERA_OK**: The operation is successful. 5586 5587- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5588 5589 5590### OH_PhotoOutput_UnregisterFrameShutterEndCallback() 5591 5592``` 5593Camera_ErrorCode OH_PhotoOutput_UnregisterFrameShutterEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_OnFrameShutterEnd callback) 5594``` 5595 5596**Description** 5597 5598Unregisters the callback used to listen for frame shutter end events. 5599 5600**Since**: 12 5601 5602**Parameters** 5603 5604| Name| Description| 5605| -------- | -------- | 5606| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5607| callback | Target callback, which is defined in [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend).| 5608 5609**Returns** 5610 5611In [Camera_ErrorCode] (#camera_errorcode-1): 5612 5613- **CAMERA_OK**: The operation is successful. 5614 5615- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5616 5617 5618### OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback() 5619 5620``` 5621Camera_ErrorCode OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAssetAvailable callback) 5622``` 5623 5624**Description** 5625 5626Unregisters the callback used to listen for photo asset availability events. 5627 5628**Since**: 12 5629 5630**Parameters** 5631 5632| Name| Description| 5633| -------- | -------- | 5634| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5635| callback | Target callback, which is defined in [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable).| 5636 5637**Returns** 5638 5639In [Camera_ErrorCode] (#camera_errorcode-1): 5640 5641- **CAMERA_OK**: The operation is successful. 5642 5643- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5644 5645 5646### OH_PhotoOutput_UnregisterPhotoAvailableCallback() 5647 5648``` 5649Camera_ErrorCode OH_PhotoOutput_UnregisterPhotoAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAvailable callback) 5650``` 5651 5652**Description** 5653 5654Unregisters the callback used to listen for photo availability events. 5655 5656**Since**: 12 5657 5658**Parameters** 5659 5660| Name| Description| 5661| -------- | -------- | 5662| photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| 5663| callback | Target callback, which is defined in [PhotoOutput_Callbacks](_photo_output___callbacks.md).| 5664 5665**Returns** 5666 5667In [Camera_ErrorCode] (#camera_errorcode-1): 5668 5669- **CAMERA_OK**: The operation is successful. 5670 5671- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5672 5673 5674### OH_PreviewOutput_DeleteFrameRates() 5675 5676``` 5677Camera_ErrorCode OH_PreviewOutput_DeleteFrameRates(Camera_PreviewOutput* previewOutput, Camera_FrameRateRange* frameRateRange) 5678``` 5679 5680**Description** 5681 5682Deletes the frame rate list. 5683 5684**Since**: 12 5685 5686**Parameters** 5687 5688| Name| Description| 5689| -------- | -------- | 5690| previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 5691| frameRateRange | Pointer to the list of frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md).| 5692 5693**Returns** 5694 5695In [Camera_ErrorCode] (#camera_errorcode-1): 5696 5697- **CAMERA_OK**: The operation is successful. 5698 5699- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5700 5701 5702### OH_PreviewOutput_DeleteProfile() 5703 5704``` 5705Camera_ErrorCode OH_PreviewOutput_DeleteProfile(Camera_Profile* profile) 5706``` 5707 5708**Description** 5709 5710Deletes the profile of this **PreviewOutput** instance. 5711 5712**Since**: 12 5713 5714**Parameters** 5715 5716| Name| Description| 5717| -------- | -------- | 5718| profile | Pointer to a [Camera_Profile](_camera___profile.md) instance.| 5719 5720**Returns** 5721 5722In [Camera_ErrorCode] (#camera_errorcode-1): 5723 5724- **CAMERA_OK**: The operation is successful. 5725 5726- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5727 5728 5729### OH_PreviewOutput_GetActiveFrameRate() 5730 5731``` 5732Camera_ErrorCode OH_PreviewOutput_GetActiveFrameRate(Camera_PreviewOutput* previewOutput, Camera_FrameRateRange* frameRateRange) 5733``` 5734 5735**Description** 5736 5737Obtains the active frame rates of a **PreviewOutput** instance. 5738 5739**Since**: 12 5740 5741**Parameters** 5742 5743| Name| Description| 5744| -------- | -------- | 5745| previewOutput | Pointer to a [Camera_PreviewOutput](#camera_previewoutput) instance.| 5746| frameRateRange | Double pointer to the frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md), if the function is successfully called.| 5747 5748**Returns** 5749 5750In [Camera_ErrorCode] (#camera_errorcode-1): 5751 5752- **CAMERA_OK**: The operation is successful. 5753 5754- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5755 5756- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5757 5758 5759### OH_PreviewOutput_GetActiveProfile() 5760 5761``` 5762Camera_ErrorCode OH_PreviewOutput_GetActiveProfile(Camera_PreviewOutput* previewOutput, Camera_Profile** profile) 5763``` 5764 5765**Description** 5766 5767Obtains the profile of a **PreviewOutput** instance. 5768 5769**Since**: 12 5770 5771**Parameters** 5772 5773| Name| Description| 5774| -------- | -------- | 5775| previewOutput | Pointer to a [Camera_PreviewOutput](#camera_previewoutput) instance.| 5776| profile | Double pointer to the profile, which is defined in [Camera_Profile](_camera___profile.md), if the function is successfully called.| 5777 5778**Returns** 5779 5780In [Camera_ErrorCode] (#camera_errorcode-1): 5781 5782- **CAMERA_OK**: The operation is successful. 5783 5784- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5785 5786- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5787 5788 5789### OH_PreviewOutput_GetSupportedFrameRates() 5790 5791``` 5792Camera_ErrorCode OH_PreviewOutput_GetSupportedFrameRates(Camera_PreviewOutput* previewOutput, Camera_FrameRateRange** frameRateRange, uint32_t* size) 5793``` 5794 5795**Description** 5796 5797Obtains the list of frame rates supported by a **PreviewOutput** instance. 5798 5799**Since**: 12 5800 5801**Parameters** 5802 5803| Name| Description| 5804| -------- | -------- | 5805| previewOutput | Pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance.| 5806| frameRateRange | Double pointer to the list of frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md), if the function is successfully called.| 5807| size | Pointer to the size of the list of frame rates.| 5808 5809**Returns** 5810 5811In [Camera_ErrorCode] (#camera_errorcode-1): 5812 5813- **CAMERA_OK**: The operation is successful. 5814 5815- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5816 5817- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5818 5819 5820### OH_PreviewOutput_RegisterCallback() 5821 5822``` 5823Camera_ErrorCode OH_PreviewOutput_RegisterCallback(Camera_PreviewOutput* previewOutput, PreviewOutput_Callbacks* callback) 5824``` 5825 5826**Description** 5827 5828Registers a callback to listen for preview output events. 5829 5830**Since**: 11 5831 5832**Parameters** 5833 5834| Name| Description| 5835| -------- | -------- | 5836| previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 5837| callback | Pointer to the target callback, which is defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct.| 5838 5839**Returns** 5840 5841In [Camera_ErrorCode] (#camera_errorcode-1): 5842 5843- **CAMERA_OK**: The operation is successful. 5844 5845- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5846 5847 5848### OH_PreviewOutput_Release() 5849 5850``` 5851Camera_ErrorCode OH_PreviewOutput_Release(Camera_PreviewOutput* previewOutput) 5852``` 5853 5854**Description** 5855 5856Releases a **PreviewOutput** instance. 5857 5858**Since**: 11 5859 5860**Parameters** 5861 5862| Name| Description| 5863| -------- | -------- | 5864| previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 5865 5866**Returns** 5867 5868In [Camera_ErrorCode] (#camera_errorcode-1): 5869 5870- **CAMERA_OK**: The operation is successful. 5871 5872- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5873 5874- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5875 5876 5877### OH_PreviewOutput_SetFrameRate() 5878 5879``` 5880Camera_ErrorCode OH_PreviewOutput_SetFrameRate(Camera_PreviewOutput* previewOutput, int32_t minFps, int32_t maxFps) 5881``` 5882 5883**Description** 5884 5885Sets the frame rates for a **PreviewOutput** instance. 5886 5887**Since**: 12 5888 5889**Parameters** 5890 5891| Name| Description| 5892| -------- | -------- | 5893| previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 5894| minFps | Minimum frame rate.| 5895| maxFps | Maximum frame rate.| 5896 5897**Returns** 5898 5899In [Camera_ErrorCode] (#camera_errorcode-1): 5900 5901- **CAMERA_OK**: The operation is successful. 5902 5903- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5904 5905 5906### OH_PreviewOutput_Start() 5907 5908``` 5909Camera_ErrorCode OH_PreviewOutput_Start(Camera_PreviewOutput* previewOutput) 5910``` 5911 5912**Description** 5913 5914Starts preview output. 5915 5916**Since**: 11 5917 5918**Parameters** 5919 5920| Name| Description| 5921| -------- | -------- | 5922| previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 5923 5924**Returns** 5925 5926In [Camera_ErrorCode] (#camera_errorcode-1): 5927 5928- **CAMERA_OK**: The operation is successful. 5929 5930- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5931 5932- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 5933 5934- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5935 5936 5937### OH_PreviewOutput_Stop() 5938 5939``` 5940Camera_ErrorCode OH_PreviewOutput_Stop(Camera_PreviewOutput* previewOutput) 5941``` 5942 5943**Description** 5944 5945Stops preview output. 5946 5947**Since**: 11 5948 5949**Parameters** 5950 5951| Name| Description| 5952| -------- | -------- | 5953| previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 5954 5955**Returns** 5956 5957In [Camera_ErrorCode] (#camera_errorcode-1): 5958 5959- **CAMERA_OK**: The operation is successful. 5960 5961- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5962 5963- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 5964 5965 5966### OH_PreviewOutput_UnregisterCallback() 5967 5968``` 5969Camera_ErrorCode OH_PreviewOutput_UnregisterCallback(Camera_PreviewOutput* previewOutput, PreviewOutput_Callbacks* callback) 5970``` 5971 5972**Description** 5973 5974Unregisters the callback used to listen for preview output events. 5975 5976**Since**: 11 5977 5978**Parameters** 5979 5980| Name| Description| 5981| -------- | -------- | 5982| previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| 5983| callback | Pointer to the target callback, which is defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct.| 5984 5985**Returns** 5986 5987In [Camera_ErrorCode] (#camera_errorcode-1): 5988 5989- **CAMERA_OK**: The operation is successful. 5990 5991- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 5992 5993 5994### OH_VideoOutput_DeleteFrameRates() 5995 5996``` 5997Camera_ErrorCode OH_VideoOutput_DeleteFrameRates(Camera_VideoOutput* videoOutput, Camera_FrameRateRange* frameRateRange) 5998``` 5999 6000**Description** 6001 6002Deletes the frame rate list. 6003 6004**Since**: 12 6005 6006**Parameters** 6007 6008| Name| Description| 6009| -------- | -------- | 6010| videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| 6011| frameRateRange | Pointer to the list of frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md).| 6012 6013**Returns** 6014 6015In [Camera_ErrorCode] (#camera_errorcode-1): 6016 6017- **CAMERA_OK**: The operation is successful. 6018 6019- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6020 6021 6022### OH_VideoOutput_DeleteProfile() 6023 6024``` 6025Camera_ErrorCode OH_VideoOutput_DeleteProfile(Camera_VideoProfile* profile) 6026``` 6027 6028**Description** 6029 6030Deletes the profile of this **VideoOutput** instance. 6031 6032**Since**: 12 6033 6034**Parameters** 6035 6036| Name| Description| 6037| -------- | -------- | 6038| profile | Pointer to the [Camera_VideoProfile](_camera___video_profile.md) instance.| 6039 6040**Returns** 6041 6042In [Camera_ErrorCode] (#camera_errorcode-1): 6043 6044- **CAMERA_OK**: The operation is successful. 6045 6046- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6047 6048 6049### OH_VideoOutput_GetActiveFrameRate() 6050 6051``` 6052Camera_ErrorCode OH_VideoOutput_GetActiveFrameRate(Camera_VideoOutput* videoOutput, Camera_FrameRateRange* frameRateRange) 6053``` 6054 6055**Description** 6056 6057Obtains the active frame rates of a **VideoOutput** instance. 6058 6059**Since**: 12 6060 6061**Parameters** 6062 6063| Name| Description| 6064| -------- | -------- | 6065| videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance.| 6066| frameRateRange | Pointer to the frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md), if the function is successfully called.| 6067 6068**Returns** 6069 6070In [Camera_ErrorCode] (#camera_errorcode-1): 6071 6072- **CAMERA_OK**: The operation is successful. 6073 6074- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6075 6076- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 6077 6078 6079### OH_VideoOutput_GetActiveProfile() 6080 6081``` 6082Camera_ErrorCode OH_VideoOutput_GetActiveProfile(Camera_VideoOutput* videoOutput, Camera_VideoProfile** profile) 6083``` 6084 6085**Description** 6086 6087Obtains the profile of a **VideoOutput** instance. 6088 6089**Since**: 12 6090 6091**Parameters** 6092 6093| Name| Description| 6094| -------- | -------- | 6095| videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance.| 6096| profile | Double pointer to the profile, which is defined in [Camera_VideoProfile](_camera___video_profile.md), if the function is successfully called.| 6097 6098**Returns** 6099 6100In [Camera_ErrorCode] (#camera_errorcode-1): 6101 6102- **CAMERA_OK**: The operation is successful. 6103 6104- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6105 6106- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 6107 6108 6109### OH_VideoOutput_GetSupportedFrameRates() 6110 6111``` 6112Camera_ErrorCode OH_VideoOutput_GetSupportedFrameRates(Camera_VideoOutput* videoOutput, Camera_FrameRateRange** frameRateRange, uint32_t* size) 6113``` 6114 6115**Description** 6116 6117Obtains the list of frame rates supported by a **VideoOutput** instance. 6118 6119**Since**: 12 6120 6121**Parameters** 6122 6123| Name| Description| 6124| -------- | -------- | 6125| videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance.| 6126| frameRateRange | Double pointer to the list of frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md), if the function is successfully called.| 6127| size | Pointer to the size of the list of frame rates.| 6128 6129**Returns** 6130 6131In [Camera_ErrorCode] (#camera_errorcode-1): 6132 6133- **CAMERA_OK**: The operation is successful. 6134 6135- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6136 6137- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 6138 6139 6140### OH_VideoOutput_RegisterCallback() 6141 6142``` 6143Camera_ErrorCode OH_VideoOutput_RegisterCallback(Camera_VideoOutput* videoOutput, VideoOutput_Callbacks* callback) 6144``` 6145 6146**Description** 6147 6148Registers a callback to listen for video output events. 6149 6150**Since**: 11 6151 6152**Parameters** 6153 6154| Name| Description| 6155| -------- | -------- | 6156| videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| 6157| callback | Pointer to the target callback, which is defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct.| 6158 6159**Returns** 6160 6161In [Camera_ErrorCode] (#camera_errorcode-1): 6162 6163- **CAMERA_OK**: The operation is successful. 6164 6165- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6166 6167 6168### OH_VideoOutput_Release() 6169 6170``` 6171Camera_ErrorCode OH_VideoOutput_Release(Camera_VideoOutput* videoOutput) 6172``` 6173 6174**Description** 6175 6176Releases a **VideoOutput** instance. 6177 6178**Since**: 11 6179 6180**Parameters** 6181 6182| Name| Description| 6183| -------- | -------- | 6184| videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| 6185 6186**Returns** 6187 6188In [Camera_ErrorCode] (#camera_errorcode-1): 6189 6190- **CAMERA_OK**: The operation is successful. 6191 6192- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6193 6194- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 6195 6196 6197### OH_VideoOutput_SetFrameRate() 6198 6199``` 6200Camera_ErrorCode OH_VideoOutput_SetFrameRate(Camera_VideoOutput* videoOutput, int32_t minFps, int32_t maxFps) 6201``` 6202 6203**Description** 6204 6205Sets the frame rates for a **VideoOutput** instance. 6206 6207**Since**: 12 6208 6209**Parameters** 6210 6211| Name| Description| 6212| -------- | -------- | 6213| videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| 6214| minFps | Minimum frame rate. | 6215| maxFps | Maximum frame rate. | 6216 6217**Returns** 6218 6219In [Camera_ErrorCode] (#camera_errorcode-1): 6220 6221- **CAMERA_OK**: The operation is successful. 6222 6223- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6224 6225 6226### OH_VideoOutput_Start() 6227 6228``` 6229Camera_ErrorCode OH_VideoOutput_Start(Camera_VideoOutput* videoOutput) 6230``` 6231 6232**Description** 6233 6234Starts video output. 6235 6236**Since**: 11 6237 6238**Parameters** 6239 6240| Name| Description| 6241| -------- | -------- | 6242| videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| 6243 6244**Returns** 6245 6246In [Camera_ErrorCode] (#camera_errorcode-1): 6247 6248- **CAMERA_OK**: The operation is successful. 6249 6250- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6251 6252- **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. 6253 6254- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 6255 6256 6257### OH_VideoOutput_Stop() 6258 6259``` 6260Camera_ErrorCode OH_VideoOutput_Stop(Camera_VideoOutput* videoOutput) 6261``` 6262 6263**Description** 6264 6265Stops video output. 6266 6267**Since**: 11 6268 6269**Parameters** 6270 6271| Name| Description| 6272| -------- | -------- | 6273| videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| 6274 6275**Returns** 6276 6277In [Camera_ErrorCode] (#camera_errorcode-1): 6278 6279- **CAMERA_OK**: The operation is successful. 6280 6281- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6282 6283- **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. 6284 6285 6286### OH_VideoOutput_UnregisterCallback() 6287 6288``` 6289Camera_ErrorCode OH_VideoOutput_UnregisterCallback(Camera_VideoOutput* videoOutput, VideoOutput_Callbacks* callback) 6290``` 6291 6292**Description** 6293 6294Unregisters the callback used to listen for video output events. 6295 6296**Since**: 11 6297 6298**Parameters** 6299 6300| Name| Description| 6301| -------- | -------- | 6302| videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| 6303| callback | Pointer to the target callback, which is defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct.| 6304 6305**Returns** 6306 6307In [Camera_ErrorCode] (#camera_errorcode-1): 6308 6309- **CAMERA_OK**: The operation is successful. 6310 6311- **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. 6312