हाय मैंने कस्टम कैमरा दृश्य बनाने और AVFoundation का उपयोग करके चित्रों को सहेजने के लिए जेरेड डेविडसन द्वारा एक कोर्स का पालन किया। https://www.youtube.com/watch?v=w0O3ZGUS3pkAVFoundation स्विफ्ट का उपयोग करके वीडियो सहेजें
हालांकि मैं छवियों के बजाय वीडियो रिकॉर्ड और सहेजना चाहता हूं। क्या कोई मेरी मदद कर सकता है? मुझे यकीन है कि यह सरल है लेकिन सेब का दस्तावेज़ीकरण उद्देश्य-सी में लिखा गया है और मैं इसे समझ नहीं सकता।
यह मेरा कोड है। धन्यवाद।
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)
})
}
}
}
आप एक्सकोड> डिवाइस> आईफोन> _app name_> कंटेनर डाउनलोड करें में डिवाइस से दस्तावेज़ निर्देशिका डाउनलोड कर सकते हैं। आप 'didISinishRecordingToOutputFileAtURL' प्रतिनिधि विधि से 'UISaveVideoAtPathToSavedPhotosAlbum()' को कॉल करके वीडियो रोल को कैमरे रोल में सहेज सकते हैं। अगर आपके प्रश्न का उत्तर दिया गया है, तो कृपया इस उत्तर को स्वीकार करें। –
हाहा बहुत बहुत धन्यवाद! उम्मीद है कि यह दूसरों की भी मदद करता है क्योंकि मैंने देखा कि बहुत से लोग पूछ रहे थे। –