안녕하세요 저는 Jared Davidson의 과정을 따라 맞춤 카메라 뷰를 만들고 AVFoundation을 사용하여 사진을 저장했습니다. https://www.youtube.com/watch?v=w0O3ZGUS3pkAVFoundation 스위프트를 사용하여 비디오 저장
그러나 이미지 대신 동영상을 녹화하고 저장하고 싶습니다. 누군가 나를 도와 줄 수 있습니까? 나는 그 단순하지만 애플의 문서가 Objective-C로 쓰여졌 고 그것을 해독 할 수 없다고 확신한다.
이것은 내 코드입니다. 감사.
import UIKit
import AVFoundation
class ViewController: UIViewController {
var captureSession = AVCaptureSession()
var sessionOutput = AVCaptureStillImageOutput()
var previewLayer = AVCaptureVideoPreviewLayer()
@IBOutlet var cameraView: UIView!
override func viewWillAppear(animated: Bool) {
let devices = AVCaptureDevice.devicesWithMediaType(AVMediaTypeVideo)
for device in devices {
if device.position == AVCaptureDevicePosition.Front{
do{
let input = try AVCaptureDeviceInput(device: device as! AVCaptureDevice)
if captureSession.canAddInput(input){
captureSession.addInput(input)
sessionOutput.outputSettings = [AVVideoCodecKey : AVVideoCodecJPEG]
if captureSession.canAddOutput(sessionOutput){
captureSession.addOutput(sessionOutput)
captureSession.startRunning()
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
previewLayer.connection.videoOrientation = AVCaptureVideoOrientation.Portrait
cameraView.layer.addSublayer(previewLayer)
previewLayer.position = CGPoint(x: self.cameraView.frame.width/2, y: self.cameraView.frame.height/2)
previewLayer.bounds = cameraView.frame
}
}
}
catch{
print("Error")
}
}
}
}
@IBAction func TakePhoto(sender: AnyObject) {
if let videoConnection = sessionOutput.connectionWithMediaType(AVMediaTypeVideo){
sessionOutput.captureStillImageAsynchronouslyFromConnection(videoConnection, completionHandler: {
buffer, error in
let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(buffer)
UIImageWriteToSavedPhotosAlbum(UIImage(data: imageData)!, nil, nil, nil)
})
}
}
}
Xcode> 기기> iPhone> _app 이름 _> 컨테이너 다운로드의 기기에서 문서 디렉토리를 다운로드 할 수 있습니다. 'didFinishRecordingToOutputFileAtURL' 델리게이트 메소드에서'UISaveVideoAtPathToSavedPhotosAlbum()'을 호출하여 비디오를 카메라 롤에 저장할 수 있습니다. 질문에 대한 답변이 있으면이 대답을 수락하십시오. –
하하 많이 감사합니다! 다행스럽게도 많은 사람들이 물어 보았 기 때문에 다른 사람들에게도 도움이되기를 바랍니다. –