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