takeSnapshot abstract method

Future<void> takeSnapshot({
  1. required int uid,
  2. required String filePath,
})

Takes a snapshot of a video stream.

This method takes a snapshot of a video stream from the specified user, generates a JPG image, and saves it to the specified path. The method is asynchronous, and the SDK has not taken the snapshot when the method call returns. After a successful method call, the SDK triggers the onSnapshotTaken callback to report whether the snapshot is successfully taken, as well as the details for that snapshot. Call this method after joining a channel. When used for local video snapshots, this method takes a snapshot for the video streams specified in ChannelMediaOptions. If the user's video has been preprocessed, for example, watermarked or beautified, the resulting snapshot includes the pre-processing effect.

  • uid The user ID. Set uid as 0 if you want to take a snapshot of the local user's video.
  • filePath The local path (including filename extensions) of the snapshot. For example: Windows: C:\Users<user_name>\AppData\Local\Agora<process_name>\example.jpg iOS: /App Sandbox/Library/Caches/example.jpg macOS: ~/Library/Logs/example.jpg Android: /storage/emulated/0/Android/data/

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

Implementation

Future<void> takeSnapshot({required int uid, required String filePath});