ios - 从 url 创建缩略图

标签 ios avassetimagegenerator

我正在使用下面的代码从 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;

正如我所说,代码工作正常。任何人都可以帮助我解决创建缩略图的延迟问题吗?

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

最佳答案

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

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

关于ios - 从 url 创建缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31128924/

相关文章:

iphone - AVAudioPlayer 不会在 15 次中播放一次音频

objective-c - AVAssetImageGenerator复制CGImageAtTime :actualTime:error: generates 8-bit images from 10-bit video

ios - 设置使用 AVAssetImageGenerator ios 生成的缩略图的图像大小

ios - 视频缩略图不是从本地视频 URL( Assets URL)iOS 生成的

ios - 是在主线程中调用 AVAssetImageGenerator 完成处理程序吗?

android - iOS Objective C 覆盖属性 setter

ios - 无法导出 Ad Hoc App Appcellerator Studio

ios - 实现 App Transport Security 的最佳方式是什么?

ios 使用 Stroke 制作 Masked BlurView

ios - AVAssetImageGenerator.generateCGImagesAsynchronously 的错误帧