swift 中通过AVFoundation来定制拍摄窗口

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)
            }
        }

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...