资产加载失败(Cocoa for OS X)

时间:2012-10-16 17:45:18

标签: objective-c macos cocoa

我是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]失败并显示错误:操作无法完成

有谁知道如何解决我遇到的这个问题?

谢谢!!!

1 个答案:

答案 0 :(得分:2)

您的网址错误。首先,绝对文件路径应以/开头,如/Users/EVG/Desktop/myfile.mp4中所示。但是,这不是一个URL。文件网址应为file:///Users/EVG/Desktop/myfile.mp4