ios – 从某个框架的视频拍摄框架图像

我已经做了一个图书馆收藏视图充满了我从Photos框架中获取的视频,我使用缩略图显示所有不同的视频使用以下方法

func requestImageForAsset(_ asset: PHAsset!, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions!, resultHandler resultHandler: ((UIImage!, [NSObject : AnyObject]!) -> Void)!) -> PHImageRequestID

工作正常
但是我的视频总是以黑色框架开始,所以所有的缩略图都是黑色的.可以偏移快照图像所在的帧吗?

这是我在我的项目中使用的代码,对我来说就像一个魅力

func generateThumnail(url: URL) -> UIImage? {
    let asset = AVAsset(url: url)
    let assetImgGenerate = AVAssetImageGenerator(asset: asset)
    assetImgGenerate.appliesPreferredTrackTransform = true
    assetImgGenerate.maximumSize = CGSize(width: 100, height: 100)
    let time = CMTimeMake(1, 30)

    if let img = try? assetImgGenerate.copyCGImage(at: time, actualTime: nil) {
        return UIImage(cgImage: img)
    }
    return nil
}

上述功能将在视频的1秒钟返回图像

这是传递您的视频的assetUrl以获取缩略图的方式

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {

    let mediaType = info[UIImagePickerControllerMediaType] as! String
    if (mediaType == kUTTypeMovie as! String){
        let tempVideo = info[UIImagePickerControllerMediaURL] as! URL
        if let thumbnail = self.generateThumbnail(url: tempVideo) {
            // Use your thumbnail
        }
翻译自:https://stackoverflow.com/questions/32326505/photos-framework-image-from-video-at-a-certain-frame

转载注明原文:ios – 从某个框架的视频拍摄框架图像