Agora Java API Reference for Android

Public Member Functions | List of all members
agora::rtc::IScreenCapturer Class Referenceabstract

`#include <NGIAgoraScreenCapturer.h>`

Inheritance diagram for agora::rtc::IScreenCapturer:

## Public Member Functions
virtual int | initWithWindowId (view_t windowId, const Rectangle &regionRect)=0
virtual int | setContentHint (VIDEO_CONTENT_HINT contentHint, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | updateScreenCaptureRegion (const Rectangle &regionRect, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setScreenOrientation (VIDEO_ORIENTATION orientation, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setFrameRate (int rate, aosl_ref_t ares=AOSL_REF_INVALID)=0
Public Member Functions inherited from agora::RefCountInterface
virtual void | AddRef () const =0
virtual RefCountReleaseStatus | Release () const =0
virtual bool | HasOneRef () const =0

## Detailed Description

The IScreenCapturer class, which provides access to the screen capturer.

## Member Function Documentation

## ◆ initWithWindowId()

virtual int agora::rtc::IScreenCapturer::initWithWindowId | ( | view_t | windowId,
|  | const Rectangle & | regionRect
| ) |  |
| pure virtual

Initializes the screen capturer by specifying a window ID.

This method shares a whole or part of a window specified by the window ID.

Note
  This method applies to Windows and macOS only.

Parameters

  windowId | The ID of the window to be shared. This parameter specifies which window you want to share.
  regionRect | The reference to the relative location of the region to the window. See agora::rtc::Rectangle &regionRect "regionRect". If the specified region overruns the window, only the region within the screen will be captured. If you set `width` or `height` as 0, the whole window will be captured. Note that the coordinates of rectangle are relative to the window and follows system specifications.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ setContentHint()

virtual int agora::rtc::IScreenCapturer::setContentHint | ( | VIDEO_CONTENT_HINT | contentHint,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

Sets the content hint for screen sharing.

A content hint suggests the type of the content being shared, so that the SDK applies different optimization algorithms to different types of content.

Parameters

  contentHint | The content hint for screen capture: VIDEO_CONTENT_HINT.

Returns
  - 0: Success.
  - < 0: Failure.
    - ERR_NOT_READY: No screen or window is being shared.

## ◆ updateScreenCaptureRegion()

virtual int agora::rtc::IScreenCapturer::updateScreenCaptureRegion | ( | const Rectangle & | regionRect,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

Updates the screen capture region.

Parameters

  regionRect | The reference to the relative location of the region to the screen or window. See Rectangle. If the specified region overruns the screen or window, the screen capturer captures only the region within it. If you set `width` or `height` as 0, the SDK shares the whole screen or window.

Returns
  - 0: Success.
  - < 0: Failure.
    - No screen or window is being shared.

## ◆ setScreenOrientation()

virtual int agora::rtc::IScreenCapturer::setScreenOrientation | ( | VIDEO_ORIENTATION | orientation,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

Set orientation of the captured screen image

Parameters

  VIDEO_ORIENTATION | orientaion of the device 0(by default), 90, 180, 270

## ◆ setFrameRate()

virtual int agora::rtc::IScreenCapturer::setFrameRate | ( | int | rate,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

Set frame rate of the screen capture source

Parameters

  rate | frame rate (in fps)