我一直在尝试使用 AVFoundation 来记录屏幕输出。由于未知的原因,在我迁移到最新版本的 Mac(Mountain Lion)后它停止工作。我一直在努力让它发挥作用,但到目前为止还没有成果。我知道startRecordingToOutputFileURL
如果输出文件已经存在,则 AVFoundation 方法将不起作用。因此,我尝试使用NSFileManager
来查看我的目标文件是否存在以及它是否可写。我的 Filemanager 始终返回与目标文件不存在且不可写对应的值。我试图设置文件权限无济于事,任何人都可以对我可能的错误有所了解:
dest = [[NSURL alloc] initFileURLWithPath:@"~/Desktop/myMovie.mov"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSMutableDictionary *attributes = [[NSMutableDictionary alloc] init];
[attributes setObject:[NSNumber numberWithInt:777] forKey:NSFilePosixPermissions]; //I tried 511 too, no avail
[fileManager setAttributes:attributes ofItemAtPath:[dest path] error:nil];
if (![fileManager fileExistsAtPath:[dest path]]) {
if ([fileManager isWritableFileAtPath:[dest path]]) {
/* Starts recording to a given URL. */
[captureMovieFileOutput startRecordingToOutputFileURL:dest recordingDelegate:self];
}
else{
NSLog(@"File doesnot exist but is not writable"); //This is the message I get as result
}
}
else
{
NSLog(@"File Exists...");
}