目前我正在使用flutter录屏插件(https://pub.dev/packages/flutter_screen_recording)来录制屏幕,实际上,这个插件录制的是手机的全屏。
但我的要求是只录制特定的小部件或屏幕的特定部分,例如在视频通话应用程序中屏幕中有两个用户,我只想只录制相反的用户视频。
那么有没有可用的解决方法或解决方案,请指导。
有一个相当新的软件包,称为 screen_recorder 可以用于此目的。
示例如下:
ScreenRecorder(
height: 200,
width: 200,
background: Colors.white,
controller: ScreenRecorderController(
pixelRatio: 0.5,
skipFramesBetweenCaptures: 2,
),
child: // child which should be recorded
);
唯一的缺点是它不能像相机或谷歌地图小部件那样记录平台视图,并且记录必须有背景颜色(所以你不能用透明背景记录)。
我在截屏时遇到了类似的问题,因为截屏时出现空白或黑屏。但后来使用这个包解决了这个问题https://pub.dev/packages/native_screenshot
您只需运行此函数即可截取直播的屏幕截图:
Future<void> _capturePng() async {
String path = await NativeScreenshot.takeScreenshot();
print(path);
}
您可以在这里找到完整的代码:https://github.com/Meherdeep/agora-videocall-demo
屏幕录制功能部分不起作用,只保存gif,不保存视频