4

我一直在努力在 iOS7 上的应用程序中录制截屏视频。那里有一些很棒的应用程序,例如解释一切(我不想与之竞争、替换或复制),但我看不出他们如何设法获得如此流畅的绘图记录。看起来他们以自己的专有格式录制,然后在用户请求时导出为电影。

我尝试了一些库:

  • 一瞥。不幸的是它仍然使用 renderInContext 并且真的很慢
  • ScreenCaptureView和(似乎是衍生产品)UIScreenCaptureView。后者使用了新的 drawHierachy 方法,但是它将 iPad 的处理器拉皮条高达 96%,而且速度太慢,无法流畅绘制;感觉就像你在拖着手指穿过糖浆。

似乎直接将 UIView 录制到电影中效率太低,无法创建流畅的、基于绘图的截屏视频,就像您在 ShowMe 或 Explain Everything 等应用程序中看到的那样。

是否有记录平滑绘图的方法,或者在给定的 UIView 中会发生什么平滑且可实现的?已经存在的(好的)截屏应用程序如何管理这个?

4

1 回答 1

1

现在似乎很明显,但它不是一开始。上述库都使用主线程,所以我实现了自己的解决方案并使用 GCD 在后台线程上录制> 这释放了界面并在录制时停止了糖浆般的效果。

不是 100% 是否是线程安全的(这篇文章似乎表明它不是,但这篇文章建议访问图形堆栈是可以安全访问的)。不过,它似乎对我有用。我使用了Zoul 的解决方案和 drawViewHierarchyInRect:afterScreenUpdates 在后台线程中呈现视图的内容。它出奇的快,我还没有遇到任何问题。

于 2013-10-28T17:43:10.560 回答