2017-02-24 90 views
1

我需要從視頻URL獲取縮略圖以顯示在位於UITableViewCell中的ImageView中。使用SDWebImage從視頻URL獲取縮略圖

我可以使用這種方法得到縮略圖,但它需要大量的資源,因此在調用cellForRowAtIndexPath時tableview滾動滯後和停止。

這是方法。

func createThumbnailOfVideoFromFileURL(videoURL: String) -> UIImage? { 
    let asset = AVAsset(url: URL(string: videoURL)!) 
    let assetImgGenerate = AVAssetImageGenerator(asset: asset) 
    assetImgGenerate.appliesPreferredTrackTransform = true 
    let time = CMTimeMakeWithSeconds(Float64(1), 100) 
    do { 
     let img = try assetImgGenerate.copyCGImage(at: time, actualTime: nil) 
     let thumbnail = UIImage(cgImage: img) 
     return thumbnail 
    } catch { 
     return UIImage(named: "ico_placeholder") 
    } 
} 

任何人都可以請建議我使用SDWebImage,以便圖像到緩存中,不牽強每次UITableView的代表被稱爲替代。 如果我錯了,請提出任何其他方法。

+1

任何人有任何幫助嗎? –

+0

你有沒有得到任何幫助? –

回答

0

我使用了上述方法,並將圖像緩存在UIImage數組中,並在cellForRowAtIndexPath中進行了檢查,如果圖像存在於該特定索引處,則使用該圖像在後臺獲取圖像。