我正在创建一个应用程序,我需要记录视频并将其上传到服务器。现在我的项目也有一个android版本。为了支持Android版本,我必须以mp4格式录制视频。我跟着this教程设置UIImagePicker媒体类型电影格式imagePicker.mediaTypes = [kUTTypeMovie as String]
Swift - 如何使用UIImagePickerController以MP4格式录制视频?
的UIImagePickerController
非常适合我的要求,我需要改变是它保存格式为MP4的唯一的事情。我在mediaTypes
中试过kUTTypeMPEG4
,但它在运行时抛出错误,没有错误描述。
这是我的视频拍摄功能
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
}
我使用雨燕2.2和Xcode中8 Use Legacy swift Language version = Yes
任何替代方案也很受青睐。提前致谢。
编辑: 我发现,没有办法直接录制mp4格式的视频在swift中。只能从苹果的quicktime mov格式转换为所需的格式。
感谢您的代码。我会尝试。但你知道我可以直接以mp4格式从相机录制视频吗? –
我不相信用户界面图像选择器是可能的。 –
感谢您的帮助朋友。我会尝试上面的代码。 –