Selaa lähdekoodia

合成时查找sticker优化

harry 3 vuotta sitten
vanhempi
commit
9503904137

+ 17 - 4
BFFramework/Classes/PQGPUImage/akfilters/Tools/PQCompositionExporter.swift

@@ -174,13 +174,26 @@ public class PQCompositionExporter {
         }
         var currentSticker:PQEditVisionTrackMaterialsModel?
        
-        for sticker in mStickers! {
-            BFLog(message: "sticker in \(sticker.timelineIn) out \(sticker.timelineOut)  currTime is \(currTime)")
-            if(sticker.timelineIn <= currTime && sticker.timelineOut >= currTime){
-                currentSticker = sticker
+//        for sticker in mStickers! {
+//            BFLog(message: "sticker in \(sticker.timelineIn) out \(sticker.timelineOut)  currTime is \(currTime)")
+//            if(sticker.timelineIn <= currTime && sticker.timelineOut >= currTime){
+//                currentSticker = sticker
+//                break
+//            }
+//        }
+        while true {
+            if let sticker = mStickers!.first {
+                if sticker.timelineIn <= currTime && sticker.timelineOut >= currTime {
+                    currentSticker = sticker
+                    break
+                }else{
+                    mStickers!.removeFirst()
+                }
+            }else{
                 break
             }
         }
+        
         //创建不同的filter
         if(currentSticker == nil){
             BFLog(message: "sticker data is error")

+ 4 - 4
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

@@ -1533,11 +1533,11 @@ extension PQStuckPointEditerController {
             }
         }
 
-        for point in stuckPoints {
-            BFLog(message: "没有 start end 计算后的卡点数\(point)")
-        }
+//        for point in stuckPoints {
+//            BFLog(message: "没有 start end 计算后的卡点数\(point)")
+//        }
         // 若音乐起点至第一个卡点点位之间时长t0<0.3时,此段时长与下一个点位时长合并,故第一段卡点部分时长为t0+d
-        if Float(stuckPointMusicData?.startTime ?? 0) - (stuckPoints.first ?? 0.0) < 0.3 {
+        while (stuckPoints.first ?? 0.0) - Float(stuckPointMusicData?.startTime ?? 0) < 0.3 {
             if stuckPoints.first != nil {
                 stuckPoints.removeFirst()
             }

+ 1 - 1
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointPublicController.swift

@@ -909,7 +909,7 @@ extension PQStuckPointPublicController {
             BFLog(message: "开始导出")
         }
         exporter.progressClosure = { [weak self] _, _, progress in
-            BFLog(message: "正片合成进度 \(progress)")
+            BFLog(message: "正片合成进度 \(progress*100)%")
             let useProgress = progress > 1 ? 1 : progress
             if progress > 0, Int(useProgress * 100) > (self?.exportProgrss ?? 0) {
                 // 更新进度