0

I am using camera for recording in swift.For image capture image i ask user for only one permission.But for video there are two permission Camera & Microphone.I am checking camera permission.I want to user should be able to record video if both camera & microphone permissions are assigned.

let mediaType = AVMediaTypeVideo
        let authStatus = AVCaptureDevice.authorizationStatus(forMediaType: mediaType)
        if authStatus == .authorized {
            // do your logic
            photoManager = PhotoManager(navigationController: self, allowEditing: true, imageOptions: .Camera, cameraOptions: .Image , callback: { (info) in

                if let info  = info {
                    self.recrdFromCamera(info: info)
                }
            })

        }
        else if authStatus == .denied {

            // denied
            Utility.showAlert(withTitle: ErrorMessage.CameraPermissions.title, message: ErrorMessage.CameraPermissions.message, okayTitle: Constant.ButtonName.settings, cancelTitle:Constant.ButtonName.cancel , okCall: {

            }, cancelCall: {

            })
        }
        else if authStatus == .restricted {
            // restricted, normally won't happen
            Utility.showAlert(withTitle: ErrorMessage.CameraPermissions.title, message: ErrorMessage.CameraPermissions.message, okayTitle: Constant.ButtonName.settings, cancelTitle:Constant.ButtonName.cancel , okCall: {

            }, cancelCall: {

            })
        }
        else if authStatus == .notDetermined {
            // not determined?!
            AVCaptureDevice.requestAccess(forMediaType: mediaType, completionHandler: {(_ granted: Bool) -> Void in
                if granted {
                    self.photoManager = PhotoManager(navigationController: self, allowEditing: true, imageOptions: .Camera, cameraOptions: .Image , callback: { (info) in

                        if let info  = info {
                            self.recrdFromCamera(info: info)
                        }
                    })

                }
                else {
                }
            })
        }
        else {
            // impossible, unknown authorization status
        }
TechChain
  • 8,404
  • 29
  • 103
  • 228

0 Answers0