Ios 尝试使用AVFoundation捕获图像时,输出图像非常暗(几乎像黑屏)

Ios 尝试使用AVFoundation捕获图像时,输出图像非常暗(几乎像黑屏),ios,objective-c,swift,avfoundation,avcapturesession,Ios,Objective C,Swift,Avfoundation,Avcapturesession,我正在尝试使用AVFoundation捕获图像,当捕获到输出图像时,图像非常暗(几乎看起来像黑屏),这是我的代码,我是Swift的新手,因此任何帮助都将不胜感激 import UIKit import AVFoundation import MobileCoreServices class ViewController: UIViewController { let captureSession = AVCaptureSession() var previewLayer :

我正在尝试使用AVFoundation捕获图像,当捕获到输出图像时,图像非常暗(几乎看起来像黑屏),这是我的代码,我是Swift的新手,因此任何帮助都将不胜感激

import UIKit
import AVFoundation
import MobileCoreServices

class ViewController: UIViewController {

    let captureSession = AVCaptureSession()
    var previewLayer : AVCaptureVideoPreviewLayer?
    var captureDevice : AVCaptureDevice?

    @IBOutlet var captureView: UIView!
    @IBOutlet var capturedImage: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        captureSession.sessionPreset = AVCaptureSessionPresetHigh
        let devices = AVCaptureDevice.devices()
        for device in devices {
            if (device.hasMediaType(AVMediaTypeVideo)) {
                if(device.position == AVCaptureDevicePosition.Back) {
                    captureDevice = device as? AVCaptureDevice
                    if captureDevice != nil {
                        beginSession()
                    }
                }
            }
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    func beginSession() {
        var err : NSError? = nil
        captureSession.addInput(AVCaptureDeviceInput(device: captureDevice, error: &err))
        if err != nil {
            println("error: \(err?.localizedDescription)")
        }
        previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
        self.captureView.layer.addSublayer(previewLayer)

        previewLayer?.frame = self.captureView.layer.frame
        captureSession.startRunning()
    }

    @IBAction func capture(sender: AnyObject) {

        var stillImageOutput = AVCaptureStillImageOutput()
        stillImageOutput.outputSettings = [AVVideoCodecKey: AVVideoCodecJPEG]

        if captureSession.canAddOutput(stillImageOutput) {
            captureSession.addOutput(stillImageOutput)
        }

        if let videoConnection = stillImageOutput.connectionWithMediaType(AVMediaTypeVideo){
            stillImageOutput.captureStillImageAsynchronouslyFromConnection(videoConnection, completionHandler: {
                (sampleBuffer, error) in
                var imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(sampleBuffer)
                var dataProvider = CGDataProviderCreateWithCFData(imageData)
                var cgImageRef = CGImageCreateWithJPEGDataProvider(dataProvider, nil, true, kCGRenderingIntentDefault)
                var image = UIImage(CGImage: cgImageRef, scale: 1.0, orientation: UIImageOrientation.Right)

                var capturedImage = UIImageView(image: image)


                //Show the captured image to


                //Save the captured preview to image
                UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)

            })
        }
    }



}
移动此代码块

stillImageOutput.outputSettings = [AVVideoCodecKey: AVVideoCodecJPEG]

if captureSession.canAddOutput(stillImageOutput) {
captureSession.addOutput(stillImageOutput)
}


那是威德。但是有一些图像吗?它不是全黑的吗?
func beginSession()