我正在iOS上编写一个小视频编辑应用程序。我按照this question中评分最高的答案来使用AVAssetwriter,但写作最终失败了。当我进入
中的完整回调时[videoWriter finishWritingWithCompletionHandler:^(){}];
我每次都会从videoWriter.error中收到此错误。
[0] (null) "NSUnderlyingError" : domain: "NSOSStatusErrorDomain" - code: 18446744073709539204
[1] (null) "NSLocalizedRecoverySuggestion" : "Try saving again."
[2] (null) "NSLocalizedDescription" : "Cannot Save"
我尝试保存图片的网址是由
构建的NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *filename = @"processedVideo.mp4";
NSString *filenameFull = [documentsDir stringByAppendingPathComponent:filename];
NSURL *videoOutURL = [NSURL fileURLWithPath:filenameFull];
所以它就像
file:///var/mobile/Containers/Data/Application/FA2BF494-9093-4034-8E6F-0FC177C9F2E3/Documents/processedVideo.mp4
有关我出错的建议吗?
答案 0 :(得分:1)
如果保存目录中已存在文件,则资产编写者会给出写入错误。首先检查是否存在任何文件。你可以删除以前的现有文件。
BOOL success = [fileManager removeItemAtPath: filenameFull error:&error];
或者您可以使用不同的文件名编写文件。希望它能起作用