【发布时间】:2017-03-14 06:35:22
【问题描述】:
我正在创建一个应用程序,我需要在其中录制视频并将其上传到服务器。现在我的项目也有安卓版本了。要支持 android 版本,我必须以 mp4 格式录制视频。我按照this教程将UIImagePicker媒体类型设置为电影格式imagePicker.mediaTypes = [kUTTypeMovie as String]
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
}
我正在使用带有Use Legacy swift Language version = Yes 的 Swift 2.2 和 Xcode 8
也欢迎任何替代解决方案。提前致谢。
编辑: 我发现没有办法直接快速录制mp4格式的视频。只能从苹果的quicktime mov格式转换成需要的格式。
【问题讨论】:
标签: ios swift uiimagepickercontroller video-capture