我正在寻找一种将cocos2dx场景保存为视频的方法。优选地希望这发生在背景中(动画场景对用户不可见)。 我看了几个选项: Everplay - 不允许您下载视频文件并要求场景打开和可见。 Kamcord - 看起来它已经停产或什么东西,即使它确实有效,它看起来不支持将视频文件保存到设备 ReplayKit - 要求用户接受录制,我猜想要打开场景
我考虑将场景保存为一帧一帧的图像,但那里没有太多运气。
有谁知道任何选项?有没有办法访问帧并使用pixelbuffer创建视频?
谢谢!
答案 0 :(得分:1)
找到解决方案。基本上做一个UIView扩展
斯威夫特3:
public extension UIView {
public func toImage() -> UIImage? {
UIGraphicsBeginImageContextWithOptions(bounds.size, false, 1.0)
drawHierarchy(in: bounds, afterScreenUpdates: false)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}
你可以抓住UIView'图片'您所需的FPS需要的次数。所以说你想在20FPS做一个全屏记录,只需创建一个计时器并每隔0.05秒拍一张照片。一旦你有一系列图像,你可以使用AVAssetWriter将它们组合成一个视频(你可以只搜索图像到视频并找到大量的答案)