AVFoundation を使用して画面出力を記録しようとしています。最新バージョンの Mac (Mountain Lion) に移行した後、理由は不明ですが、動作しなくなりました。私はそれを機能させようとしてきましたが、これまでのところ実りはありません。startRecordingToOutputFileURL
出力ファイルが既に存在する場合、AVFoundation メソッドが機能しないことはわかっています。そこで、NSFileManager
宛先ファイルが存在するかどうか、書き込み可能かどうかを確認するために使用してみました。私のファイルマネージャーは、宛先ファイルが存在せず、書き込み不可に対応する値を常に返します。ファイルのアクセス許可を無駄に設定しようとしましたが、誰かが私の考えられる間違いに光を当てることができます:
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...");
}