2016-12-13 7 views
2

私はcocos2dxシーンをビデオとして保存する方法を探しています。好ましくは、これがバックグラウンドで起こることを望むであろう(アニメーションシーンはユーザには見えない)。 いくつかのオプションを調べました: Everplay - ビデオファイルをダウンロードすることができず、シーンを開いて表示する必要があります。 Kamcord - 中断されたように見えるか、動作してもビデオファイルをデバイスに保存するようサポートされていないように見える ReplayKit - 録画のためのユーザーの受け入れが必要で、シーンを開く必要があるiOSビデオとしてのCocos2Dxシーンを記録します。

シーンをフレーム単位で保存することを検討しましたが、そこには運があまりありませんでした。

誰もが知っていますか?フレームにアクセスしてピクセルバッファでビデオを作成する方法はありますか?

ありがとうございます!

答えて

1

解決策が見つかりました。基本的には

スウィフト3 UIViewの拡張を行います。

public extension UIView { 
    public func toImage() -> UIImage? { 
     UIGraphicsBeginImageContextWithOptions(bounds.size, false, 1.0) 
     drawHierarchy(in: bounds, afterScreenUpdates: false) 
     let image = UIGraphicsGetImageFromCurrentImageContext() 
     UIGraphicsEndImageContext() 
     return image 
    } 
} 

ご希望のFPSのために必要があるとして、あなたは何回としてUIViewの「絵」をつかむことができます。つまり、20FPSで全画面録画を行い、タイマーを作成して0.05秒ごとに写真を撮りたいとします。一連の画像を取得したら、AVAssetWriterを使ってそれらを組み合わせてビデオにすることができます(画像を検索してたくさんの回答を見つけることができます)

関連する問題