let devices = AVCaptureDevice.devices().filter{ $0.hasMediaType(AVMediaTypeVideo) && $0.position == AVCaptureDevicePosition.Back }
if let captureDevice = devices.first as? AVCaptureDevice {
do{
try captureSession.addInput(AVCaptureDeviceInput.init(device: captureDevice))
}catch let error as NSError {
logger.error(error.debugDescription)
}
captureSession.sessionPreset = AVCaptureSessionPresetPhoto
captureSession.startRunning()
stillImageOutput.outputSettings = [AVVideoCodecKey:AVVideoCodecJPEG]
if captureSession.canAddOutput(stillImageOutput) {
captureSession.addOutput(stillImageOutput)
}
if let previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) {
previewLayer.frame = view.bounds
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
let cameraPreview = UIView(frame: CGRectMake(0.0,0.0, maskBottomView.frame.size.width, maskBottomView.frame.size.height))
cameraPreview.layer.addSublayer(previewLayer)
cameraPreview.addGestureRecognizer(UITapGestureRecognizer(target: self, action:"saveToCamera:"))
maskTopView.layer.cornerRadius = 80;
maskTopView.layer.shadowOffset = CGSizeMake(15, 20);
maskTopView.layer.shadowRadius = 5;
maskTopView.layer.shadowOpacity = 0.5;
view.insertSubview(cameraPreview, belowSubview: maskBottomView)
}
}
swift 中通过AVFoundation来定制拍摄窗口
最新推荐文章于 2024-06-06 09:47:59 发布