スナップチャットのクローンを作成しようとしています。現在、私はカメラのビデオ録画部分に取り組んでいます。私はビデオを撮り、URLを作り、MPMoviePlayerController
それを再生するように設定します。UITextField
MPMoviePlayerController.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 でアクセスします。過去にカメラベースのアプリケーションでこの機能を達成した人はいますか? これを達成する方法を知っている人はいますか?