Error Domain=AVFoundationErrorDomain Code=-11800 "这项操作无法完成"

在iOS上开发视频操作的时候,出现错误:

Error Domain=AVFoundationErrorDomain Code=-11800 "这项操作无法完成"UserInfo=0x1780fb480 {NSUnderlyingError=0x1706495d0 "The operation couldn’t be completed. (OSStatus error -12673.)", NSLocalizedFailureReason=发生未知错误(-12673), AVErrorRecordingSuccessfullyFinishedKey=false, NSLocalizedDescription=这项操作无法完成},file:///var/mobile/Applications/D0CA65C7-F218-46F1-80BC-B0FA886EDF3B/video.mov

具体是使用AVFoundation录制使用,然后保存再文件中。

产生错误:Error Domain=AVFoundationErrorDomain Code=-11800 "这项操作无法完成"的原因都是因为存储的文件路径NSURL有问题。即使你打印出来没有什么问题,但是就是报错,确实蛋疼。

解决办法,重写输出文件的路径NSURL。给一个例子:
// 初始化保存的路径
NSString *documentsDirPath =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSURL *documentsDirUrl = [NSURL fileURLWithPath:documentsDirPath isDirectory:YES];
self.saveMovieFile = [NSURL URLWithString:@"video.mp4" relativeToURL:documentsDirUrl];
当然,在使用这个路径之前,记得先检查这个文件是否存在,如果存在则先删除文件,否则会报另外一个错误。
Enjoy~
 

0 个评论

要回复文章请先登录注册