提问人:Kolay 提问时间:10/20/2023 更新时间:10/20/2023 访问量:99
如何在不阻塞UI线程的情况下录制Jetpack Compose@Composable功能的视频?
How to record a video of a Jetpack Compose @Composable function without blocking UI thread?
问:
上下文
我有一个 Jetpack Compose 功能,它有一个(相机预览视图)和一个我绘制的功能。@Composable
AndroidView
Canvas
这是我的代码的一个非常简化的版本:
@Composable
fun ExerciseCanvasView(...) {
Box(modifier = Modifier.fillMaxSize()) {
AndroidView(...)
Canvas(...)
}
}
基本上,我想录制此功能的视频并将其保存到文件(video.mp4)中。
我试过的:
- 媒体投影。我尝试了MediaProjection,但不是我想要的。它记录了整个屏幕,我真的不需要它,它可能会记录敏感信息。
- 将 composeview 绘制到画布到位图。我也尝试过这个,但是绘图必须在主UI线程(这个问题)中完成,这会阻塞主UI线程,使其无法使用。
- chatgpt 推荐的其他一些已弃用的恶作剧根本不起作用。
目前,我不在乎我是否必须保存可组合项的捕获,然后将它们编码为视频或任何东西,我什至无法使其工作......
问题
有没有人遇到过类似的问题,并找到了一种解决方案来只记录这个特定的@Composable而不阻塞UI线程?
答: 暂无答案
评论
AndroidView()
AndroidView()