2016-12-13 71 views
2

我正在尋找一種方法將cocos2dx場景保存爲視頻。最好能在背景中發生這種情況(動畫場景對用戶不可見)。 我看了幾個選項: Everplay - 不允許你下載視頻文件,並要求場景是開放和可見的。 Kamcord - 看起來像它已經停產或什麼的,甚至當它確實工作,它看起來不像它支持將視頻文件保存到設備 ReplayKit - 要求用戶接受記錄,我想將要求場景是開放的iOS將Cocos2Dx場景記錄爲視頻

我看着逐幀保存場景作爲一個圖像,但沒有太多的運氣。

有誰知道任何選項?有沒有辦法訪問幀並使用像素緩衝區創建視頻?

謝謝!

回答

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將它們組合成一個視頻(你可以將圖像搜索到視頻並找到很多答案)