2016-04-05 13 views
1

Wie lege ich die Videodimensionen fest, mit denen ich aufnehmen möchte, wenn ich den UIImagePickerController verwende?Wie werden Videodimensionen mit UIImagePickerController festgelegt?

Ich entwickle eine Anwendung, die den UIImagePickerController mit einer benutzerdefinierten Ansicht oben für die Steuerelemente verwendet. Wenn ich aufnehme, finde ich die Proportionen des Videos 4: 3 statt 16: 4, die ich erwarte.

Als ich an der Apple-Dokumentation aussehen bietet es ein example der Form:

session.sessionPreset = AVCaptureSessionPreset1280x720; 

Das Problem ist, dass ich nicht sehen kann scheinen, wie die Sitzung erhalten Lage sein, diesen Wert zu setzen, wenn ich den UIImagePickerController verwende. Mein Swift 2-basierter Code sieht etwas wie folgt (leicht bearbeitet):

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

} 

Antwort

0

Während UIImagePickerController scheint nicht Zugriff auf die Sitzung zur Verfügung zu stellen, ist es eine Videoqualität Eigenschaft hat, das ist der richtige Ort zu sein scheint zu setzen dieser Wert. In meinem Fall:

cameraController!.videoQuality = .TypeIFrame1280x720 
Verwandte Themen