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;

正如我所说,代码工作正常。谁能帮我解决创建缩略图的延迟?

谢谢,我希望问题很清楚。

4

1 回答 1

1

如果oneURL 是某个远程 URL,则您正在同步联网。那将是你的很多问题。您在联网时阻塞了主线程(正如您所说的“干扰应用程序”)。使用 URLSession 或 AFNetworking 或其他方式正确联网。这样,您就不会阻塞主线程。

(顺便说一句,如果您在设备上执行阻塞主线程会导致您的应用程序崩溃。如果 Apple 注意到您这样做,您甚至可能无法进入应用程序商店。)

于 2015-06-30T03:43:41.753 回答