如何在flutter中屏幕录制特定的widget?

问题描述 投票:0回答:3

目前我正在使用flutter录屏插件(https://pub.dev/packages/flutter_screen_recording)来录制屏幕,实际上,这个插件录制的是手机的全屏。

但我的要求是只录制特定的小部件或屏幕的特定部分,例如在视频通话应用程序中屏幕中有两个用户,我只想只录制相反的用户视频。

那么有没有可用的解决方法或解决方案,请指导。

flutter dart flutter-layout screen-recording
3个回答
3
投票

2021 年解决方案

有一个相当新的软件包,称为 screen_recorder 可以用于此目的。

示例如下:

ScreenRecorder(
  height: 200,
  width: 200,
  background: Colors.white,
  controller: ScreenRecorderController(
    pixelRatio: 0.5,
    skipFramesBetweenCaptures: 2,
  ),
  child: // child which should be recorded
);

唯一的缺点是它不能像相机或谷歌地图小部件那样记录平台视图,并且记录必须有背景颜色(所以你不能用透明背景记录)。


0
投票

我在截屏时遇到了类似的问题,因为截屏时出现空白或黑屏。但后来使用这个包解决了这个问题https://pub.dev/packages/native_screenshot

您只需运行此函数即可截取直播的屏幕截图:

Future<void> _capturePng() async {
    String path = await NativeScreenshot.takeScreenshot();
    print(path);
  }

您可以在这里找到完整的代码:https://github.com/Meherdeep/agora-videocall-demo


0
投票

屏幕录制功能部分不起作用,只保存gif,不保存视频

© www.soinside.com 2019 - 2024. All rights reserved.