ここでは、thumbImageViewに生成したイメージを挿入しています。thumbImageViewは適宜変更してください。

CMTimeMake(90, 30)という部分があり、これは30フレームのスケールで90フレーム目の画像を生成するという意味です。 このTimeMakeについても取得したい時間によって変更をしていってください。

let filePath: URL = URL(fileURLWithPath: "mp4ファイルのパス")
do {
    let asset = AVURLAsset(url: filePath , options: nil)
    let imgGenerator = AVAssetImageGenerator(asset: asset)
    imgGenerator.appliesPreferredTrackTransform = true
    let cgImage = try imgGenerator.copyCGImage(at: CMTimeMake(90, 30), actualTime: nil)
    let thumbnail = UIImage(cgImage: cgImage)
    thumbImageView.image = thumbnail
} catch let error {
    print("*** Error generating thumbnail: \(error.localizedDescription)")
}

Previous Post Next Post