2015-06-30 109 views
0

我使用下面的代碼從Url創建視頻縮略圖,代碼工作完美,但需要很長時間,它會干擾應用程序直到它創建圖像。從網址創建縮略圖

她是我的代碼:

NSString *one = self.currentList.videoLink; 
    NSURL * imageURL = [NSURL URLWithString:one]; 
    AVURLAsset *asset1 = [[AVURLAsset alloc] initWithURL:imageURL options:nil]; 


     AVAssetImageGenerator *generate1 = [[AVAssetImageGenerator alloc] initWithAsset:asset1]; 
     generate1.appliesPreferredTrackTransform = YES; 
     NSError *err = NULL; 
     CMTime time = CMTimeMake(2,1); 
     CGImageRef oneRef = [generate1 copyCGImageAtTime:time actualTime:NULL error:&err]; 
     UIImage *oneme = [[UIImage alloc] initWithCGImage:oneRef]; 
     [self.videoImage setImage:oneme]; 
     self.videoImage.contentMode = UIViewContentModeScaleToFill; 

正如我所說的,代碼做工精細。任何人都可以幫助我解決創建縮略圖的延遲問題嗎?

謝謝,我希望問題很清楚。

回答

0

如果one URL是某個遠程URL,則表示您同步聯網。那將會是你很多問題。當你聯網時,你阻止了主線程(正如你所說的那樣,「干擾應用程序」)。網絡正確,URLSession或AFNetworking或其他。這樣,你不會阻止主線程。 (順便說一句,如果您在設備上執行主線程阻塞操作,您的應用程序可能會崩潰,如果Apple發現您正在這樣做,甚至可能無法進入應用程序商店。)