Starts screen capture.

Future<void> startScreenCaptureBySourceType(
      {required VideoSourceType sourceType,
      required ScreenCaptureConfiguration config});


This method, as well as startScreenCapture, startScreenCaptureByDisplayId, and startScreenCaptureByWindowId, all have the capability to start screen capture, with the following differences:
  • startScreenCapture only applies to Android and iOS, whereas this method only applies to Windows and iOS.
  • startScreenCaptureByDisplayId and startScreenCaptureByWindowId only support capturing video from a single screen or window. By calling this method and specifying the sourceType parameter, you can capture multiple video streams used for local video mixing or multi-channel publishing.



The type of the video source. See VideoSourceType.

  • Windows supports up to four screen capture video streams.
  • macOS supports only one screen capture video stream. You can only set this parameter to videoSourceScreen(2).
The configuration of the captured screen. See ScreenCaptureConfiguration.


When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly.

  • < 0: Failure.