Flash doesn't work while recording Video in Swift 3.0
<p>I am working on a Camera App. I have used a button  to set flash mode on and off when required. This method works perfectly for Capturing still image and is not working for Video mode. Below is my code please help. TIA</p>

<pre><code>class func setFlashMode(_ flashMode: AVCaptureFlashMode, for device: AVCaptureDevice) {
    if device.hasFlash &amp;&amp; device.isFlashModeSupported(flashMode) {
        do {
            try device.lockForConfiguration()
            device.flashMode = flashMode
            device.unlockForConfiguration()
        }
        catch
        {
            print("Error:-\(error)")
        }
    }
}
</code></pre>

<blockquote>
  <p>Flash Button Action </p>
</blockquote>

<pre><code>@IBAction func flashButtonClicked(_ sender: UIButton)
{
 sender.isSelected = !sender.isSelected
    if !(sender.isSelected)
    {
        sender.setTitle(NSLocalizedString("OFF", comment: ""), for: UIControlState.normal)
        CameraVC.setFlashMode(AVCaptureFlashMode.off, for: self.videoDeviceInput.device)
    }
    else
    {
        sender.setTitle(NSLocalizedString("ON", comment: ""), for: UIControlState.normal)
        CameraVC.setFlashMode(AVCaptureFlashMode.on, for: self.videoDeviceInput.device)
    }
}
</code></pre>

<blockquote>
  <p>Video Button Action</p>
</blockquote>

<pre><code>@IBAction func videoButtonClicked(_ sender: UIButton)
{       
    self.sessionQueue.async {
        if !self.movieFileOutput.isRecording
        {
            if UIDevice.current.isMultitaskingSupported
            {
                self.backGroundRecordingID = UIApplication.shared.beginBackgroundTask(expirationHandler: nil)
            }

            let connection = self.movieFileOutput.connection(withMediaType: AVMediaTypeVideo)
            let deviceOrientation = UIDevice.current.orientation
            if UIDeviceOrientationIsPortrait(deviceOrientation) || UIDeviceOrientationIsLandscape(deviceOrientation)
            {
                connection?.videoOrientation = self.videoOrientation()
            }

            // Turning ON flash for video recording
            CameraVC.setFlashMode(AVCaptureFlashMode.on, for: self.videoDeviceInput.device)

            let mediaDirectoryURL = SBMediaInfo.mediaDirectoryPath()
            //Unique file name
            let fileName = UIDevice.current.identifierForVendor!.uuidString
            // Start recording to a temporary file.
           let outputFilePath = "\(mediaDirectoryURL.path)/\(fileName).mov"
            self.movieFileOutput.startRecording(toOutputFileURL: URL(fileURLWithPath: outputFilePath), recordingDelegate: self)
            print("\(outputFilePath)")
        }
        else
        {
            self.movieFileOutput.stopRecording()
        }
        sender.isEnabled = true
    }
}
</code></pre>