Swift - Wie kann ich mit UIImagePickerController Videos im MP4-Format aufnehmen?
Ich erstelle eine App, in der ich Videos aufnehmen und auf einen Server hochladen muss. Jetzt hat mein Projekt auch eine Android-Version. Um die Android-Version zu unterstützen, muss ich die Videos im mp4-Format aufnehmen. Ich folgteDie Tutorial zum Einstellen des UIImagePicker-Medientyps auf das FilmformatimagePicker.mediaTypes = [kUTTypeMovie as String]
DasUIImagePickerController
ist perfekt für meine Anforderung und das einzige, was ich ändern muss, ist das Speicherformat auf mp4. Ich habe es versuchtkUTTypeMPEG4
immediaTypes
aber es wird ein Fehler zur Laufzeit ohne Fehlerbeschreibung ausgegeben.
Dies ist meine Videoaufnahmefunktion
func startCameraFromViewController() {
if UIImagePickerController.isSourceTypeAvailable(.Camera) == false {
return
}
viewBlack.hidden = false
presentViewController(cameraController, animated: false, completion: nil)
cameraController.sourceType = .Camera
cameraController.mediaTypes = [kUTTypeMovie as String]
//cameraController.mediaTypes = [kUTTypeMPEG4 as String]
cameraController.cameraCaptureMode = .Video
cameraController.videoQuality = .TypeMedium
if(getPurchaseId() as! Int == 0)
{
if(txtBenchMark.text?.isEmpty == false)
{
cameraController.videoMaximumDuration = NSTimeInterval(300.0)
}else{
cameraController.videoMaximumDuration = NSTimeInterval(60.0)
}
}else{
cameraController.videoMaximumDuration = NSTimeInterval(600.0)
}
cameraController.allowsEditing = false
}
Ich benutze Swift 2.2 und Xcode 8 mitUse Legacy swift Language version = Yes
Alle alternativen Lösungen werden ebenfalls geschätzt. Danke im Voraus
EDIT: Ich habe herausgefunden, dass es keine Methode gibt, um Videos im mp4-Format in Swift direkt aufzunehmen. kann nur vom Quicktime-MOV-Format von Apple in das erforderliche Format konvertiert werden.