视频缩略图需要10-15秒才能显示

时间:2016-12-31 09:34:24

标签: ios iphone swift xcode swift3

我正在使用DKImagePickerController从图库中选择视频并尝试显示它的缩略图。不知道为什么,但它需要10-15秒来显示图像。任何帮助表示赞赏。

以下是代码:

tempDkAsset.fetchAVAssetWithCompleteBlock { (tempVideo, info) in

    tempImageView.image = self.thumbnailForVideoAtURL(tempVideo!)  
}





func thumbnailForVideoAtURL(_ asset : AVAsset) -> UIImage? {

    let assetImageGenerator = AVAssetImageGenerator(asset: asset)

    var time = asset.duration
    time.value = min(time.value, 2)

    do {
        let imageRef = try assetImageGenerator.copyCGImage(at: time, actualTime: nil)
        return UIImage(cgImage: imageRef)
    } catch {
        print("error")
        return nil
    }
}

1 个答案:

答案 0 :(得分:4)

问题是您在后台线程上调用thumbnailForVideoAtURL。你需要在主线程上,因为你正在与界面交谈。

tempDkAsset.fetchAVAssetWithCompleteBlock { (tempVideo, info) in
    DispatchQueue.main.async {
        tempImageView.image = self.thumbnailForVideoAtURL(tempVideo!)
    }
}