Bladeren bron

使用小缩略图节省内存

harry 3 jaren geleden
bovenliggende
commit
59be42d0c1

+ 2 - 1
BFRecordScreenKit/Classes/BFRecordItemModel.swift

@@ -142,7 +142,7 @@ public class BFRecordItemModel: NSObject {
     /// - parameter frames                          : 需要取的帧数
     /// - parameter firstImagesCount             : 获取首先N张连续视频帧后先返回给调用方使用作为缓冲
     /// - parameter splitCompleteClosure    : 回调
-    func splitVideoFileUrlFps(frames: Int, firstImagesCount:Int = 0, splitCompleteClosure: @escaping ((Bool, [UIImage]) -> Void)) {
+    func splitVideoFileUrlFps(frames: Int, firstImagesCount:Int = 0, maxSize:CGSize = CGSize(width: 200, height: 200), splitCompleteClosure: @escaping ((Bool, [UIImage]) -> Void)) {
         guard let urlAsset = videoAsset, urlAsset.duration.seconds > 0 else {
             return
         }
@@ -165,6 +165,7 @@ public class BFRecordItemModel: NSObject {
         imgGenerator.requestedTimeToleranceBefore = CMTime.zero
         imgGenerator.requestedTimeToleranceAfter = CMTime.zero
         imgGenerator.appliesPreferredTrackTransform = true
+        imgGenerator.maximumSize = CGSize(width: 200, height: 200)
         let timesCount = times.count
         var cocu = 0
         // 获取每一帧的图片

+ 2 - 0
BFRecordScreenKit/Classes/RecordScreen/View/BFVideoThumbProgressView.swift

@@ -102,6 +102,8 @@ class BFVideoThumbProgressView: UIView {
     /// 处理视频缩略图
     func dealWithVideoThumb() {
         guard let videoAsset = recordItem?.videoAsset else {
+            // 可能icloud资源没回来,清空原有内容
+            self.addThumbImages(images: [UIImage]())
             return
         }
         self.addThumbImages(images: recordItem!.thumbImgs)