【问题标题】:How to screen record particular widget in flutter?如何在颤动中屏幕记录特定的小部件?
【发布时间】:2020-10-29 23:54:25
【问题描述】:

目前我在用flutter录屏插件(https://pub.dev/packages/flutter_screen_recording)录屏,其实这个插件是录手机全屏的。

但我的要求是只记录特定的小部件或屏幕的特定部分,例如在视频通话应用中,屏幕上有两个用户,我只想只记录对面用户的视频。

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

【问题讨论】:

  • 您可以使用screenshot 包来实现这一点。您可以更改控制器中的捕获率以“记录”小部件。您可以每秒尝试 60 张低分辨率图像。
  • @Abhishek 我要的是屏幕录制的未来,而不是截图的未来,而且这个插件不适合 agora 视频通话服务,请你提供一些其他的解决方案
  • 那你最好使用第三方解决方案
  • @Abhishek 任何建议

标签: flutter dart flutter-layout screen-recording


【解决方案1】:

2021 解决方案

有一个名为screen_recorder 的相当新的包可用于此目的。

示例如下:

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

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

【讨论】:

  • 有什么解决方案可以使用该插件录制到 GM 或 YT 等平台?
【解决方案2】:

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

你可以简单地运行这个函数来截取你的流的截图:

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

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

【讨论】:

  • 我正在寻找一种解决方案/包,它可以记录我的移动屏幕并将其流式传输到 youtube、facebook 或任何其他 RTMP(实时消息传递协议)。您有什么以往的经验或建议吗?请分享谢谢。
  • 有没有办法可以将图片集转换为视频?
  • 如果你想录制视频,我建议你去使用 Agora 的云录制 SDK。 docs.agora.io/en/cloud-recording/landing-page?platform=RESTful
猜你喜欢
  • 2023-03-12
  • 2019-05-07
  • 1970-01-01
  • 2021-03-01
  • 2020-03-31
  • 2021-11-26
  • 2021-10-22
  • 1970-01-01
相关资源
最近更新 更多