2012-10-16 93 views
0

我對mac開發很陌生,我很難理解所有這些Cocoa的工作原理。資產加載失敗(Cocoa for OS X)

現在我正在從視頻文件中獲取靜止圖像,爲了做到這一點,我需要加載我的視頻文件(資產)。

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

你確定這條路是對的嗎?通常如果你對一個絕對目錄進行硬編碼,你會想用斜線作爲前綴;絕大多數時候,我看到像你寫的路徑/用戶/ EVG ...(帶有前斜槓)。如果您的AVURLAsset未正確初始化,那麼以後可能會導致問題。 – Tim

回答

2

您的網址錯誤。首先,絕對文件路徑應以/開頭,如/Users/EVG/Desktop/myfile.mp4。但是,這不是一個URL。一個文件的URL應該是​​。

+0

我的文件的URL是正確的,但我仍然收到此錯誤。有任何想法嗎? – aleclarson