Xcodeを使ってiOSアプリを作っています。
現在カメラで動画を撮影し、撮り終わるとその動画が再生される機能を作っています。
しかし手前のカメラで撮影すると、撮影した動画とは、左右反転した動画が再生されてしまいます。
おそらく撮影されている時にもともとの設定で撮る動画が反転してしまっているせいだと思います。
なにか解決方法など知っている方がいらっしゃいましたら是非教えていただけたら幸いです。
考えられる手段
- もともとの設定で反転させる
- あとから動画を反転させる
ソースコード
swift
1 var captureSession = AVCaptureSession() 2var videoDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo) 3let audioDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeAudio) 4let fileOutput = AVCaptureMovieFileOutput()
カメラ描画のコード
swift
1//カメラ処理 2func camera_init(){ 3 4 for captureDevice:AnyObject in AVCaptureDevice.devices(){ 5 if captureDevice.position == AVCaptureDevicePosition.Front{ 6 videoDevice = captureDevice as? AVCaptureDevice 7 } 8 } 9 10 var videoInput: AVCaptureDeviceInput 11 do { 12 videoInput = try AVCaptureDeviceInput(device: self.videoDevice) 13 self.captureSession.addInput(videoInput) 14 } catch { 15 // videoInput = nil 16 } 17 18 var audioInput: AVCaptureDeviceInput 19 do { 20 audioInput = try AVCaptureDeviceInput(device: self.audioDevice) 21 self.captureSession.addInput(audioInput) 22 } catch { 23 // videoInput = nil 24 } 25 self.captureSession.addOutput(self.fileOutput) 26 27 28 let videoLayer : AVCaptureVideoPreviewLayer = AVCaptureVideoPreviewLayer.init(session: self.captureSession) 29 videoLayer.frame = self.view.bounds 30 videoLayer.videoGravity = AVLayerVideoGravityResizeAspectFill 31 self.view.layer.addSublayer(videoLayer) 32 33 34 self.captureSession.startRunning() 35}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/19 07:52