Я создаю приложение, в котором мне нужно записывать видео и загружать его на сервер. Теперь у моего проекта также есть версия для Android. Для поддержки версии Android я должен записывать видео в формате mp4. Я последовал за этим учебником, чтобы установить тип медиафайла UIImagePicker в формат фильма imagePicker.mediaTypes = [kUTTypeMovie as String]
UIImagePickerController
идеально подходит для моего требования, и единственное, что мне нужно изменить, это его формат сохранения в mp4. Я пробовал kUTTypeMPEG4
в mediaTypes
, но он выдает ошибку во время выполнения без описания ошибки.
Это моя функция видеозахвата
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
}
Я использую Swift 2.2 и Xcode 8 с Use Legacy swift Language version = Yes
Также приветствуются любые альтернативные решения. Спасибо заранее.
EDIT: Я узнал, что нет способа напрямую записывать видео в формате mp4 в swift. только можно преобразовать в требуемый формат из формата quicktime mov в Apple.