我正在使用下面的代码从网址创建视频缩略图,代码工作正常,但需要很长时间才会干扰应用,直到创建图像为止。
她是我的代码:
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 :(得分:1)
如果one
URL是某个远程URL,则表示您是同步联网的。那就是你的很多问题。您在联网时阻止主线程("干扰应用程序",如您所说)。网络正常,使用URLSession或AFNetworking或其他。这样,你就不会阻止主线程。
(顺便说一下,如果你在设备上执行此操作,阻止主线程将导致你的应用程序崩溃。如果Apple注意到你正在这样做,你甚至可能不会进入应用程序商店。)