将 SwiftUI View 录制到视频和播放中

Posted

技术标签:

【中文标题】将 SwiftUI View 录制到视频和播放中【英文标题】:Recording SwiftUI View to video and playback 【发布时间】:2020-12-26 11:32:41 【问题描述】:

哪些框架可以或应该用于将 SwiftUI 视图录制到视频(长)或 gif 文件(短)?用户和应用程序都可以导致视图内容发生变化,然后还有动画。 CoreGraphics、MetalKit、AVFoundation、CoreVideo、CoreAnimation... AVAssetWriter,...

播放怎么样?如果一个 SwiftUi 视图用于播放视频,另一个视图用于显示时间线或控件,那么这两个视图如何保持同步? 定时器、CVDisplayLink/CADisplayLink、...

在这里迷路了,请让我走上正轨。谢谢!

【问题讨论】:

【参考方案1】:

也许您可以使用 NSHostingView.cacheDisplay(in:to:) 将帧绘制到 NSBitmapImageReps 中,然后使用 CoreGraphics 使用这些帧创建动画 GIF。参见例如NSImage+GIF.m

【讨论】:

以上是关于将 SwiftUI View 录制到视频和播放中的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中录制、保存和播放视频

如何同时录制视频和播放音频(快速教程)

基于 TensorFlow 示例 Swift 录制和播放视频

如何将短视频转换成gif动画

视频下载到手机后看不了 只有声音,没有画面。是像用手机录制后放在音乐播放器播放的,但用手机录制的话看

使用 JMF 将多路复用的音频/视频录制到文件中