【问题标题】:iOS Screen Capture / RecordingiOS 屏幕捕获/录制
【发布时间】:2013-07-30 16:34:43
【问题描述】:

所以在我的应用程序中,我尝试使用屏幕截图“记录”屏幕。我必须将这些单独的帧作为图像,因为它们稍后会在服务器上进行修改和组合。再加上这种复杂性,它是在一个使用 Cocos2D 的慢节奏游戏中。我目前截屏的方式类似于 Apple 在this link 中推荐的方式。

不幸的是,以 12-15 FPS 拍摄这些屏幕截图会导致 iPad 2 以上的任何设备崩溃。由于较新设备的像素密度非常高,将它们以 12-15 FPS 的速度存储在缓冲区中会导致内存激增,这杀死应用程序。有什么建议的在 iOS 设备上快速截屏的方法吗?

我已经探索了将较新设备上的像素减半的选项,但这仍然需要我将所有单个像素保存在某个缓冲区中。任何其他屏幕截图方法可以使用 OpenGL 视图进行屏幕截图,以便我能够将其缩小吗?

【问题讨论】:

  • 查看github.com/wess/Glimpse 它不适用于 Cocoa2D,但它有一些可能会有所帮助的优化。
  • 感谢@RyanPoolos。我将尝试调整它,只给我单独的图像,而不是写成电影。我还发现了另一种很有前途的方法。我真正需要的是可以减小视网膜屏幕截图大小的东西,如果存在的话。
  • 我不知道 Glimpse 是否会对您有太大帮助,因为它只从您的视图中捕获 UIImage,就像您现在所做的一样。我知道您想将这些保留为图像,但是将未压缩的图像存储在内存中并不是在这些设备上进行的一种方式。最好将其录制到磁盘上的视频中,然后从视频中提取帧。
  • @BradLarson 我只排除了这种方法,因为我正在将它们实时发送到服务器。也许我们将不得不重新考虑我们的策略并在最后发送它们。我们正在尝试一个激进的系统来捕获面部图像和屏幕图像并将它们同步以跟踪眼球运动。到目前为止一切都很好,除了视网膜显示。我只是担心视频会不同步。
  • 您只需要一个缓冲区,将其保存到文件中,然后将缓冲区重新用于下一个镜头

标签: ios cocoa-touch cocos2d-iphone


【解决方案1】:

有一些外部框架和 SKD 可以为您做到这一点。我找到了https://www.kamcord.com/developers/,但我确信还有更多选择。希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 2012-04-19
    • 2018-03-02
    相关资源
    最近更新 更多