Agora RTC Objective-C API Reference Refactor

Data Fields
ScreenCaptureParameters Struct Reference

## Data Fields
VideoDimensions | dimensions
int | frameRate
int | bitrate
bool | captureMouseCursor
bool | windowFocus
view_t * | excludeWindowList
int | excludeWindowCount
int | highLightWidth
unsigned int | highLightColor
bool | enableHighLight

## Detailed Description

Screen sharing configurations.

## Constructor & Destructor Documentation

## ◆ ScreenCaptureParameters() [1/6]

ScreenCaptureParameters | ( |  | ) |
| inline

## ◆ ScreenCaptureParameters() [2/6]

ScreenCaptureParameters | ( | const VideoDimensions & | d,
|  | int | f,
|  | int | b
| ) |  |
| inline

## ◆ ScreenCaptureParameters() [3/6]

ScreenCaptureParameters | ( | int | width,
|  | int | height,
|  | int | f,
|  | int | b
| ) |  |
| inline

## ◆ ScreenCaptureParameters() [4/6]

ScreenCaptureParameters | ( | int | width,
|  | int | height,
|  | int | f,
|  | int | b,
|  | bool | cur,
|  | bool | fcs
| ) |  |
| inline

## ◆ ScreenCaptureParameters() [5/6]

ScreenCaptureParameters | ( | int | width,
|  | int | height,
|  | int | f,
|  | int | b,
|  | view_t * | ex,
|  | int | cnt
| ) |  |
| inline

## ◆ ScreenCaptureParameters() [6/6]

ScreenCaptureParameters | ( | int | width,
|  | int | height,
|  | int | f,
|  | int | b,
|  | bool | cur,
|  | bool | fcs,
|  | view_t * | ex,
|  | int | cnt
| ) |  |
| inline

## Field Documentation

## ◆ dimensions

VideoDimensions dimensions

On Windows and macOS, it represents the video encoding resolution of the shared screen stream. See `VideoDimensions`. The default value is 1920 x 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges.

If the aspect ratio is different between the encoding dimensions and screen dimensions, Agora applies the following algorithms for encoding. Suppose dimensions are 1920 x 1080:

- If the value of the screen dimensions is lower than that of dimensions, for example, 1000 x 1000 pixels, the SDK uses 1000 x 1000 pixels for encoding.
- If the value of the screen dimensions is higher than that of dimensions, for example, 2000 x 1500, the SDK uses the maximum value under dimensions with the aspect ratio of the screen dimension (4:3) for encoding, that is, 1440 x 1080.

## ◆ frameRate

int frameRate

On Windows and macOS, it represents the video encoding frame rate (fps) of the shared screen stream. The frame rate (fps) of the shared region. The default value is 5. We do not recommend setting this to a value greater than 15.

## ◆ bitrate

int bitrate

On Windows and macOS, it represents the video encoding bitrate of the shared screen stream. The bitrate (Kbps) of the shared region. The default value is 0 (the SDK works out a bitrate according to the dimensions of the current screen).

## ◆ captureMouseCursor

bool captureMouseCursor

Whether to capture the mouse in screen sharing:

- `true`: (Default) Capture the mouse.
- `false`: Do not capture the mouse.

## ◆ windowFocus

bool windowFocus

Whether to bring the window to the front when calling the `startScreenCaptureByWindowId` method to share it:

- `true`: Bring the window to the front.
- `false`: (Default) Do not bring the window to the front.

## ◆ excludeWindowList

view_t* excludeWindowList

A list of IDs of windows to be blocked. When calling `startScreenCaptureByDisplayId` to start screen sharing, you can use this parameter to block a specified window. When calling `updateScreenCaptureParameters` to update screen sharing configurations, you can use this parameter to dynamically block the specified windows during screen sharing.

## ◆ excludeWindowCount

int excludeWindowCount

The number of windows to be blocked.

## ◆ highLightWidth

int highLightWidth

The width (px) of the border. Defaults to 0, and the value range is [0,50].

## ◆ highLightColor

unsigned int highLightColor

The color of the border in RGBA format. The default value is 0xFF8CBF26.

## ◆ enableHighLight

bool enableHighLight

Whether to place a border around the shared window or screen:

- true: Place a border.
- false: (Default) Do not place a border.

Note
  When you share a part of a window or screen, the SDK places a border around the entire window or screen if you set `enableHighLight` as true.