3

スナップチャットのクローンを作成しようとしています。現在、私はカメラのビデオ録画部分に取り組んでいます。私はビデオを撮り、URLを作り、MPMoviePlayerControllerそれを再生するように設定します。UITextFieldMPMoviePlayerController.viewに a を追加して、全体を保存します。問題は、次に示す静止画像のキャプチャと同じではないことです。

imageView.layer.addSublayer(captionField.layer)
UIGraphicsBeginImageContext(self.view.bounds.size)
imageView.layer.renderInContext(UIGraphicsGetCurrentContext())
image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

let library:ALAssetsLibrary = ALAssetsLibrary()
var orientation: ALAssetOrientation = ALAssetOrientation(rawValue: image.imageOrientation.rawValue)!
library.writeImageToSavedPhotosAlbum(image.CGImage, orientation: orientation, completionBlock: nil)

現在、私はこれを持っています。これは、ビデオのみを保存しますが、uitextfield は保存しません:

moviePlayer = MPMoviePlayerController(contentURL: outputFileURL)

player = moviePlayer!
player.view.frame = self.view.bounds
player.controlStyle = .None
player.repeatMode = .One
player.prepareToPlay()
player.scalingMode = .AspectFill
self.view.addSubview(player.view)
player.view.layer.addSublayer(captionField.layer)
UIGraphicsBeginImageContext(self.view.bounds.size)
player.view.layer.renderInContext(UIGraphicsGetCurrentContext())
UIGraphicsEndImageContext()

ALAssetsLibrary().writeVideoAtPathToSavedPhotosAlbum(outputFileURL, completionBlock: {
    (assetURL:NSURL!, error:NSError!) in
    if error != nil{
        print(error)
    } else {
        self.resetButtons()
    }
})

静止画の保存方法に相当する動画があると思っていたのですが、保存せずMPMoviePlayerController、私の関数では「player」またはplayer.viewと呼んでいますが、できるプレーヤーのURLです。 player.contentURL (知っておくと便利ですが、この場合は冗長です)、または outputFileURL でアクセスします。過去にカメラベースのアプリケーションでこの機能を達成した人はいますか? これを達成する方法を知っている人はいますか?

4

0 に答える 0