getScreenCaptureSources method

Future<TRTCScreenCaptureSourceList> getScreenCaptureSources(
  1. {required int thumbnailWidth,
  2. required int thumbnailHeight,
  3. required int iconWidth,
  4. required int iconHeight}
)

枚举可分享的屏幕和窗口(该接口仅支持 Windows)

当您在对接桌面端系统的屏幕分享功能时,一般都需要展示一个选择分享目标的界面,这样用户能够使用这个界面选择是分享整个屏幕还是某个窗口。 通过本接口,您就可以查询到当前系统中可用于分享的窗口的 ID、名称以及缩略图。我们在 Demo 中提供了一份默认的界面实现供您参考。

参数:

thumbnailWidth 指定要获取的窗口缩略图的宽度。

thumbnailHeight 指定要获取的窗口缩略图的高度。

iconWidth 指定要获取的窗口图标宽度。

iconHeight 指定要获取的窗口图标高度。

Implementation

Future<TRTCScreenCaptureSourceList> getScreenCaptureSources({
  required int thumbnailWidth,
  required int thumbnailHeight,
  required int iconWidth,
  required int iconHeight,}) async {
  dynamic sourceInfoResult = await _cloudChannel!.invokeMethod('getScreenCaptureSources', {
    "thumbnailWidth": thumbnailWidth,
    "thumbnailHeight": thumbnailHeight,
    "iconWidth": iconWidth,
    "iconHeight": iconHeight,
  });
  Map<String, dynamic> sourceInfoMap;
  if (sourceInfoResult is Map<Object?, Object?>) {
    sourceInfoMap = sourceInfoResult.cast<String, dynamic>();
  } else {
    throw Exception('Unexpected result type: ${sourceInfoResult.runtimeType}');
  }
  return TRTCScreenCaptureSourceList.fromJson(sourceInfoMap!);
}