## **Overview**
Defines the **Camera** class for camera-related operations.
**Since:**
1.0
**Version:**
1.0
## **Summary**
## Files
Declares functions in the Camera class to implement camera operations. |
## Data Structures
Provides functions in the Camera class to implement camera operations. operations. |
## Functions
OHOS::Media::Camera::~Camera ()=default | A destructor used to delete the Camera instance. |
OHOS::Media::Camera::GetCameraId () | |
OHOS::Media::Camera::GetCameraConfig () const | virtual const CameraConfig * Obtains the camera configuration. You can use the obtained CameraConfig object to configure the camera. |
OHOS::Media::Camera::GetFrameConfig (int32_t type) | virtual FrameConfig * Obtains the frame configuration. |
OHOS::Media::Camera::Configure (CameraConfig &config) | Configures the camera using the CameraConfig object. |
OHOS::Media::Camera::TriggerLoopingCapture (FrameConfig &frameConfig) | Triggers looping-frame capture. |
OHOS::Media::Camera::StopLoopingCapture () | |
OHOS::Media::Camera::TriggerSingleCapture (FrameConfig &frameConfig) | Starts single-frame capture. The frame parameters are set through the FrameConfig object, and the captured image data is stored in the surface of the FrameConfig object. |
OHOS::Media::Camera::Release () | Releases the Camera object and associated resources. |
OHOS::Media::Camera::Camera ()=default | A constructor used to create a Camera instance. |
## **Details**
## **Function Documentation**
## Camera\(\)
```
OHOS::Media::Camera::Camera ()
```
**Description:**
A constructor used to create a **[Camera](ohos-media-camera.md)** instance.
## Configure\(\)
```
virtual void OHOS::Media::Camera::Configure ([CameraConfig](ohos-media-cameraconfig.md) & config)
```
**Description:**
Configures the camera using the **[CameraConfig](ohos-media-cameraconfig.md)** object.
**Parameters:**
config | Indicates the pointer to the CameraConfig object. |
## GetCameraConfig\(\)
```
virtual const [CameraConfig](ohos-media-cameraconfig.md)* OHOS::Media::Camera::GetCameraConfig () const
```
**Description:**
Obtains the camera configuration. You can use the obtained **[CameraConfig](ohos-media-cameraconfig.md)** object to configure the camera.
**Returns:**
Returns the pointer to the **[CameraConfig](ohos-media-cameraconfig.md)** object if obtained; returns **NULL** otherwise.
## GetCameraId\(\)
```
virtual std::string OHOS::Media::Camera::GetCameraId ()
```
**Description:**
Obtains the camera ID.
**Returns:**
Returns the camera ID if obtained; returns the "Error" string if the camera fails to be created.
## GetFrameConfig\(\)
```
virtual [FrameConfig](ohos-media-frameconfig.md)* OHOS::Media::Camera::GetFrameConfig (int32_t type)
```
**Description:**
Obtains the frame configuration.
**Parameters:**
type | Indicates the type of the frame configuration. |
**Returns:**
Returns the pointer to the **[FrameConfig](ohos-media-frameconfig.md)** object if obtained; returns **NULL** otherwise.
## Release\(\)
```
virtual void OHOS::Media::Camera::Release ()
```
**Description:**
Releases the **[Camera](ohos-media-camera.md)** object and associated resources.
## StopLoopingCapture\(\)
```
virtual void OHOS::Media::Camera::StopLoopingCapture ()
```
**Description:**
Stops looping-frame capture.
**Returns:**
Returns **true** if the looping-frame capture is successfully stopped; returns **false** otherwise.
## TriggerLoopingCapture\(\)
```
virtual int32_t OHOS::Media::Camera::TriggerLoopingCapture ([FrameConfig](ohos-media-frameconfig.md) & frameConfig)
```
**Description:**
Triggers looping-frame capture.
**Parameters:**
fc | Indicates the frame configuration. |
**Returns:**
Returns **true** if the looping-frame capture is successfully started; returns **false** otherwise.
## TriggerSingleCapture\(\)
```
virtual int32_t OHOS::Media::Camera::TriggerSingleCapture ([FrameConfig](ohos-media-frameconfig.md) & frameConfig)
```
**Description:**
Starts single-frame capture. The frame parameters are set through the **[FrameConfig](ohos-media-frameconfig.md)** object, and the captured image data is stored in the surface of the **[FrameConfig](ohos-media-frameconfig.md)** object.
**Parameters:**
fc | Indicates the frame configuration. |
**Returns:**
Returns **true** if the single-frame capture is successfully started and the data is stored; returns **false** otherwise.
## \~Camera\(\)
```
virtual OHOS::Media::Camera::~Camera ()
```
**Description:**
A destructor used to delete the **[Camera](ohos-media-camera.md)** instance.