我正在尝试使用iPhone相机录制视频并在此blog之后保存到相机胶卷。但是,使用AVCaptureSession
,相机会被初始化。但是当尝试将视频保存到相机胶卷时,会出现URL
错误。这是我的代码片段
NSString *outputPath = [[NSString alloc] initWithFormat:@"%@%@", NSTemporaryDirectory(), @"myApp.mov"];
NSURL *outputURL = [NSURL URLWithString:outputPath];
// NSLog(@"Output URL %@ AND ABSOLUTE STRING %@",outputURL,outputURL.absoluteString);
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:outputPath])
{
NSError *error;
if ([fileManager removeItemAtPath:outputPath error:&error] == NO)
{
//Error - handle if requried
}
}
//Start recording
[MovieFileOutput startRecordingToOutputFileURL:outputURL recordingDelegate:self];
它给出了以下错误
[AVCaptureMovieFileOutput startRecordingToOutputFileURL:recordingDelegate:] - 无法记录到 网址 /private/var/mobile/Containers/Data/Application/FEA51E75-B2A6-45DD-991B-AFFBF5794EAC/tmp/myApp.mov 因为它不是文件URL。
但如果我将URL
更改为initFileURLWithPath
,则会产生另一个错误。
视频 /private/var/mobile/Containers/Data/Application/B6876493-4354-4607-B348-63C5262AF2D9/tmp/myApp.mov 无法保存到已保存的相册:错误 Domain = NSURLErrorDomain Code = -1100“找不到请求的URL 这台服务器。“ 的UserInfo = {NSErrorFailingURLStringKey =文件:///private/var/mobile/Containers/Data/Application/B6876493-4354-4607-B348-63C5262AF2D9/tmp/myApp.mov, NSErrorFailingURLKey =文件:///private/var/mobile/Containers/Data/Application/B6876493-4354-4607-B348-63C5262AF2D9/tmp/myApp.mov, NSLocalizedDescription =未找到请求的URL server。,NSUnderlyingError = 0x171ad710 {错误域= NSPOSIXErrorDomain 代码= 2“没有这样的文件或目录”}, NSURL =文件:///private/var/mobile/Containers/Data/Application/B6876493-4354-4607-B348-63C5262AF2D9/tmp/myApp.mov}
我真的不明白这个错误。有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
开发人员Apple网站有一个很好的例子,说明如何处理来自iPhone相机的视频,预处理并将视频保存到相机胶卷。 访问链接RosyWriter example,然后点击"下载示例"文章顶部的按钮。
本教程还介绍了如何使用OpenCV和OpenGL库预处理视频。
答案 1 :(得分:0)
你是否尝试过这样:
NSString *outputFilePath = [NSTemporaryDirectory() stringByAppendingPathComponent:[@"myApp" stringByAppendingPathExtension:@"mov"]];
参考:像你一样工作的例子,https://stackoverflow.com/a/21118720/4557505
其他
NSString *rootPath = NSTemporaryDirectory();
NSString *videoPath = [rootPath stringByAppendingPathComponent:@"myApp.mov"];
NSURL *outputURL = [NSURL fileURLWithPath:videoPath];
以上代码适用于我copyItemAtURL