#はじめに
今回のタイトルは撮影した動画からサムネイル画像を取得としていますが、
私がこの記事で伝えたいのは取得方法よりも注意点についてです。
こちらを実装される方は知っておいた方が良いです。
又、こちらは動画の一番最初のフレームをサムネイルにする場合の実装です。
#実装
private func setThumbnail() {
guard let url = URL(string: videoUrl ) else { return }
let asset = AVAsset(url: url)
let generator = AVAssetImageGenerator(asset: asset)
generator.appliesPreferredTrackTransform = true
do {
let thumbnailCGImage = try generator.copyCGImage(at: asset.duration, actualTime: nil)
thumbnailImageView.image = UIImage(cgImage: thumbnailCGImage)
} catch {
}
}
#注意点
私は最初こちらの実装をした際にサムネイルの画質が悪くなってしまったのですが、
その原因が下記のコードにて実際に表示するViewのサイズを指定してしまっていたからでした。
画質が落ちるよって方は下記コードが原因の可能性がありますので一度消して試してみてください。
generator.maximumSize = self.thumbnailImageView.frame.size