2017-02-24 12 views
1

UITableViewCellにあるImageViewに表示するには、ビデオURLからサムネイルを取得する必要があります。SDWebImageを使用してビデオURLからサムネイルを取得

このメソッドを使用してサムネイルを取得できますが、リソースが多くかかるため、cellviewRowAtIndexPathが呼び出された時点で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") 
    } 
} 

誰も私に画像がキャッシュに行くと、デリゲートが呼び出されるのUITableViewフェッチ毎回ではありませんようにSDWebImageを使用するための代替案を提案してくださいすることができます。 もし私が間違っていたら、他の方法を親切に提案してください。

+1

誰でも助けてもらえますか? –

+0

助けを借りましたか? –

答えて

0

私は上記の方法をそのまま使用し、画像をUIImageの配列にキャッシュし、画像が特定のインデックスに存在する場合はそれ以外の場合はバックグラウンドで画像を取得するようにcellForRowAtIndexPathにチェックしました。

関連する問題