这是我的代码:
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
NSURL *videoURL =[info objectForKey:UIImagePickerControllerMediaURL];
if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:videoURL]) {
[library writeVideoAtPathToSavedPhotosAlbum:videoURL completionBlock:^(NSURL *assetURL, NSError *error) {
if (error) {
NSLog(@"error");
} else {
NSLog(@"video assetUrl is %@", assetURL);
}
}];
}
else NSLog(@"videoAtPath is not compatible with photos Album.");
videoURL 是 file:///private/var/mobile/Containers/Data/Application/B1F512EA-6D13-4DF1-86DB-F6166F0D533F/tmp/capture-T0x17511a30.tmp.pG4PbH/capturedvideo.MOV
将视频保存到已保存的相册时,我总是出错。这是返回消息:
Video /private/var/mobile/Containers/Data/Application/B1F512EA-6D13-4DF1-86DB-F6166F0D533F/tmp/capture-T0x17511a30.tmp.pG4PbH/capturedvideo.MOV cannot be saved to the saved photos album: Error Domain=NSURLErrorDomain Code=-1100 "The requested URL was not found on this server." UserInfo=0x1b3e5e40 {NSErrorFailingURLStringKey=file:///private/var/mobile/Containers/Data/Application/B1F512EA-6D13-4DF1-86DB-F6166F0D533F/tmp/capture-T0x17511a30.tmp.pG4PbH/capturedvideo.MOV, NSErrorFailingURLKey=file:///private/var/mobile/Containers/Data/Application/B1F512EA-6D13-4DF1-86DB-F6166F0D533F/tmp/capture-T0x17511a30.tmp.pG4PbH/capturedvideo.MOV, NSLocalizedDescription=The requested URL was not found on this server., NSUnderlyingError=0x1b2ce310 "The operation couldn’t be completed. No such file or directory", NSURL=file:///private/var/mobile/Containers/Data/Application/B1F512EA-6D13-4DF1-86DB-F6166F0D533F/tmp/capture-T0x17511a30.tmp.pG4PbH/capturedvideo.MOV}
最佳答案
错误消息表明您的文件不存在,因此可能性是:
文件地址不正确,您可以通过查看应用程序的沙箱来检查视频文件是否物理存在。如果存在,检查视频是否有效且可播放。无效视频将被拒绝保存到相册。
或者您的捕获模块没有工作,所以您希望在目录中写入一些文件,但由于捕获失败而没有发生。
关于ios - 无法将视频保存到照片库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26447713/