如何使用 UIImagePickerController 设置视频尺寸?

How to set video dimensions with UIImagePickerController?

当我使用 UIImagePickerController 时,如何设置我想要录制的视频尺寸?

我正在开发一个使用 UIImagePickerController 的应用程序,控件顶部有一个自定义视图。当我录制时,我发现视频的比例看起来 4:3,而不是我期望的 16:4。

当我查看 Apple 文档时,它提供了一个 example 形式:

session.sessionPreset = AVCaptureSessionPreset1280x720;

问题是,当我使用 UIImagePickerController 时,我似乎看不到如何让会话能够设置此值。我的基于 Swift 2 的代码如下所示(略有编辑):

cameraController = UIImagePickerController()

if (cameraController != nil) {
    cameraController!.mediaTypes = [kUTTypeMovie as String]
    cameraController!.sourceType = .Camera
    cameraController!.cameraCaptureMode = .Video

    cameraController!.allowsEditing = false
    cameraController!.delegate = self
    cameraController!.showsCameraControls = false

    self.recorderOverlayView = (NSBundle.mainBundle().loadNibNamed("VideoRecorderOverlayView", owner: self, options: nil)[0] as! VideoRecorderOverlayView)

    if (self.recorderOverlayView != nil) {

        self.recorderOverlayView!.frame = self.view!.frame                
        recorderOverlayView?.delegate = self;

        locationLabel = recorderOverlayView?.viewWithTag(1) as? UILabel

    } else {
        print("view not loaded")
    }

}

虽然 UIImagePickerController 似乎不提供对会话的访问,但它确实具有 videoQuality 属性,这似乎是设置此值的正确位置。就我而言:

cameraController!.videoQuality = .TypeIFrame1280x720