Agora C++ API Reference for All Platforms

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
agora::rtc::CameraCapturerConfiguration Struct Reference

`#include <IAgoraRtcEngine.h>`

## Public Member Functions
| CameraCapturerConfiguration ()

## Public Attributes
Optional< CAMERA_DIRECTION > | cameraDirection
Optional< CAMERA_FOCAL_LENGTH_TYPE > | cameraFocalLengthType
Optional< const char * > | deviceId
Optional< const char * > | cameraId
Optional< bool > | followEncodeDimensionRatio
VideoFormat | format

## Constructor & Destructor Documentation

## ◆ CameraCapturerConfiguration()

agora::rtc::CameraCapturerConfiguration::CameraCapturerConfiguration | ( |  | ) |
| inline

## Member Data Documentation

## ◆ cameraDirection

Optional<CAMERA_DIRECTION> agora::rtc::CameraCapturerConfiguration::cameraDirection

Camera direction settings (for Android/iOS only). See: CAMERA_DIRECTION. (Optional) The camera direction. See `CAMERA_DIRECTION`.

Note
  This parameter is for Android and iOS only.

## ◆ cameraFocalLengthType

Optional<CAMERA_FOCAL_LENGTH_TYPE> agora::rtc::CameraCapturerConfiguration::cameraFocalLengthType

(Optional) The camera focal length type. See `CAMERA_FOCAL_LENGTH_TYPE`.

Note
  - This parameter is for Android and iOS only.
  - To set the focal length type of the camera, it is only supported to specify the camera through `cameraDirection`, and not supported to specify it through `cameraId`.
  - For iOS devices equipped with multi-lens rear cameras, such as those featuring dual-camera (wide-angle and ultra-wide-angle) or triple-camera (wide-angle, ultra-wide-angle, and telephoto), you can use one of the following methods to capture video with an ultra-wide-angle perspective:
    - Method one: Set this parameter to `CAMERA_FOCAL_LENGTH_ULTRA_WIDE` (2) (ultra-wide lens).
    - Method two: Set this parameter to `CAMERA_FOCAL_LENGTH_DEFAULT` (0) (standard lens), then call `setCameraZoomFactor` to set the camera's zoom factor to a value less than 1.0, with the minimum setting being 0.5. The difference is that the size of the ultra-wide angle in method one is not adjustable, whereas method two supports adjusting the camera's zoom factor freely.

## ◆ deviceId

Optional<const char *> agora::rtc::CameraCapturerConfiguration::deviceId

The camera ID. The maximum length is `MAX_DEVICE_ID_LENGTH_TYPE`.

Note
  This parameter is for Windows and macOS only.

## ◆ cameraId

Optional<const char *> agora::rtc::CameraCapturerConfiguration::cameraId

(Optional) The camera ID. The default value is the camera ID of the front camera. You can get the camera ID through the Android native system API, see `Camera.open()` and `CameraManager.getCameraIdList()` for details.

Note
  - This parameter is for Android only.
  - This parameter and `cameraDirection` are mutually exclusive in specifying the camera; you can choose one based on your needs. The differences are as follows:
    - Specifying the camera via `cameraDirection` is more straightforward. You only need to indicate the camera direction (front or rear), without specifying a specific camera ID; the SDK will retrieve and confirm the actual camera ID through Android native system APIs.
    - Specifying via `cameraId` allows for more precise identification of a particular camera. For devices with multiple cameras, where `cameraDirection` cannot recognize or access all available cameras, it is recommended to use `cameraId` to specify the desired camera ID directly.

## ◆ followEncodeDimensionRatio

Optional<bool> agora::rtc::CameraCapturerConfiguration::followEncodeDimensionRatio

(Optional) Whether to follow the video aspect ratio set in `setVideoEncoderConfiguration`:

- `true`: (Default) Follow the set video aspect ratio. The SDK crops the captured video according to the set video aspect ratio and synchronously changes the local preview screen and the video frame in `onCaptureVideoFrame` and `onPreEncodeVideoFrame`.
- `false`: Do not follow the system default audio playback device. The SDK does not change the aspect ratio of the captured video frame.

## ◆ format

VideoFormat agora::rtc::CameraCapturerConfiguration::format

(Optional) The format of the video frame. See `VideoFormat`.