我是mac开发的新手,我很难理解所有这些Cocoa的工作原理。
现在我正在努力从视频文件中获取静态图像,为了做到这一点,我需要加载我的视频文件(资产)。
NSURL *url = [[NSURL alloc]initWithString:@"/Users/EVG/Desktop/myfile.mp4"];
AVURLAsset *myAsset = [[AVURLAsset alloc] initWithURL:url options:nil];
NSArray *keys = @[@"tracks"];
[myAsset loadValuesAsynchronouslyForKeys:keys completionHandler:^()
{
NSError *error = nil;
AVKeyValueStatus tracksStatus = [myAsset statusOfValueForKey:@"tracks" error:&error];
if ( tracksStatus == AVKeyValueStatusFailed ||
tracksStatus == AVKeyValueStatusCancelled )
{
NSLog(@"Failed with error: %@", [error localizedDescription]);
}
}];
执行此代码后,我收到以下消息:
NSView控制器[644:4413]失败并显示错误:操作无法完成
有谁知道如何解决我遇到的这个问题?
谢谢!!!
答案 0 :(得分:2)
您的网址错误。首先,绝对文件路径应以/
开头,如/Users/EVG/Desktop/myfile.mp4
中所示。但是,这不是一个URL。文件网址应为file:///Users/EVG/Desktop/myfile.mp4
。