Swift - Como gravar vídeo no formato MP4 com o UIImagePickerController?
Estou criando um aplicativo no qual preciso gravar vídeos e enviá-lo para um servidor. Agora, meu projeto também possui uma versão para Android. Para suportar a versão android, tenho que gravar os vídeos no formato mp4. eu seguiesta tutorial para definir o tipo de mídia UIImagePicker para o formato de filmeimagePicker.mediaTypes = [kUTTypeMovie as String]
oUIImagePickerController
é perfeito para minhas necessidades e a única coisa que preciso alterar é o formato de salvamento para mp4. eu tenteikUTTypeMPEG4
nomediaTypes
mas gera erro no tempo de execução sem descrição do erro.
Esta é a minha função de captura de vídeo
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
}
Estou usando o Swift 2.2 e o Xcode 8 comUse Legacy swift Language version = Yes
Quaisquer soluções alternativas também são apreciadas. Desde já, obrigado.
EDIT: Descobri que não existe um método para gravar vídeos diretamente no formato mp4 rapidamente. só pode ser convertido no formato exigido no formato quicktime mov da apple.