这突然间,但是当我运行以下方法时,它会抛出“没有可用的源类型1”错误,我已经看过每一个地方,人们说它在模拟器中运行它我正在运行它在我的iPhone 6.任何线索为什么?
func captureVideo(){
if(UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera)){
var date = NSDate()
var picker = UIImagePickerController()
picker.delegate = self
picker.allowsEditing = true;
picker.sourceType = UIImagePickerControllerSourceType.Camera
picker.mediaTypes = NSArray(objects: kUTTypeVideo)
var interval = NSTimeInterval(30)
picker.videoMaximumDuration = interval
picker.showsCameraControls = true;
self.presentViewController(picker, animated: true, completion: nil)
}
}
答案 0 :(得分:10)
可能问题在于:
picker.mediaTypes = NSArray(objects: kUTTypeVideo)
将其更改为:
picker.mediaTypes = NSArray(objects: kUTTypeMovie)
对于视频录制,请使用kUTTypeMovie
而不是kUTTypeVideo
。
根据UIImagePickerController mediaTypes:
如果将此属性设置为空数组或其中的数组 没有任何媒体类型可用于当前源, 系统抛出异常。
最好在为mediaTypes分配任何值之前使用availableMediaTypesForSourceType:。