Kaynağa Gözat

拼接卡点方法代码整理,

jsonwang 3 yıl önce
ebeveyn
işleme
79318939ef

+ 7 - 18
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

@@ -1022,8 +1022,7 @@ extension PQStuckPointEditerController {
                         }
 
                     } else {
-                        // 卡点数 > 选择素材数
-
+                       
                         // 第一种情况:全是图片,图片回环播放
                         if section.sectionTimeline!.visionTrack!.getEnableVisionTrackMaterials(type: "video").count == 0, section.sectionTimeline!.visionTrack!.getEnableVisionTrackMaterials(type: "image").count > 0 {
                             for (index, point) in finallyStuckPoints.enumerated() {
@@ -1386,21 +1385,11 @@ extension PQStuckPointEditerController {
                 i = i + 1
             }
             
-            //2,拼接要使用的卡点信息
-            for (index,point) in stuckPointsTemp.enumerated() {
-                 
-                if(index < LACount + LBCount){
-                    finallyStuckPoints.append(point)
-                }
-            }
-            //2.1不足所有卡点回环拼接
-            if( LACount + LBCount > stuckPointsTemp.count ){
-        
-                for (index,point) in stuckPointsTemp.enumerated() {
-                    if(index <=  LACount + LBCount - stuckPointsTemp.count){
-                        finallyStuckPoints.append(Float((stuckPointsTemp.last ?? 0) + point))
-                    }
-                }
+            //2拼接要使用的卡点信息
+            for i in 0...(LACount + LBCount) {
+                let a = stuckPointsTemp[i % stuckPointsTemp.count]
+                let b = Float(i / stuckPointsTemp.count) * (stuckPointsTemp.first ?? 0)
+                finallyStuckPoints.append(a + b)
             }
  
             BFLog(message: "计算后的\(realUsedMusicDuration) LACount:\(LACount) LBCount \(LBCount) 估算时长为:\(selectedTotalDuration * 2 / Float64(maxSpeed + minSpeed))")
@@ -1695,7 +1684,7 @@ extension PQStuckPointEditerController {
         
         
         createPorjectData()
-        BFLog(message: "界面编辑界面时参数 选择素材时长:\(selectedTotalDuration) 选择素材总数:\(selectedDataCount) 选择图片总数\(selectedImageDataCount) 再创建类型:\(reCreateVideoData?.rhythmMode)")
+        BFLog(message: "界面编辑界面时参数 选择素材时长:\(selectedTotalDuration) 选择素材总数:\(selectedDataCount) 选择图片总数\(selectedImageDataCount) 再创建类型:\(String(describing: reCreateVideoData?.rhythmMode))")
 
  
         //1 生成默认参数值