瀏覽代碼

图片时长拼接逻辑判断

jsonwang 3 年之前
父節點
當前提交
db1f8d0833
共有 1 個文件被更改,包括 15 次插入14 次删除
  1. 15 14
      BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

+ 15 - 14
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

@@ -1437,18 +1437,21 @@ extension PQStuckPointEditerController {
         }
         //拼接图片所使用的时长
         //二,最一个卡点在原数组中的位置,从这个位置开始拼接图片所要使用的卡点
-        var pointIndex = stuckPointsTemp.firstIndex(where: { (point) -> Bool in
-            (point == (finallyStuckPoints.last ?? 0).truncatingRemainder(dividingBy: (stuckPointsTemp.last ?? 0)))
-        })
-        pointIndex = (pointIndex ?? 0) + 1
-       
-        for i in 0...selectedImageDataCount {
- 
-            let a = stuckPointsTemp[i % stuckPointsTemp.count]
-            let b = Float(i / stuckPointsTemp.count) * (stuckPointsTemp.first ?? 0)
-            finallyStuckPoints.append(a + b)
+        if(selectedImageDataCount > 0){
+            var pointIndex = stuckPointsTemp.firstIndex(where: { (point) -> Bool in
+                (point == (finallyStuckPoints.last ?? 0).truncatingRemainder(dividingBy: (stuckPointsTemp.last ?? 0)))
+            })
+            pointIndex = (pointIndex ?? 0) + 1
+           
+            for i in 0...selectedImageDataCount {
+     
+                let a = stuckPointsTemp[i % stuckPointsTemp.count]
+                let b = Float(i / stuckPointsTemp.count) * (stuckPointsTemp.first ?? 0)
+                finallyStuckPoints.append(a + b)
+            }
+            selectedTotalDuration = Float64(((finallyStuckPoints.last ?? 0) - (finallyStuckPoints.first ?? 0)))
         }
-        selectedTotalDuration = Float64(((finallyStuckPoints.last ?? 0) - (finallyStuckPoints.first ?? 0)))
+    
          
          //3)素材全是图片时如果时长 < 10s要做轮播处理
          if(selectedDataCount == selectedImageDataCount && selectedTotalDuration < 10 ){
@@ -1492,9 +1495,7 @@ extension PQStuckPointEditerController {
            
             
          }
-        
-        
-//        lastJumpSpeedSelectIndex = 6
+ 
         //三,计算最后使用的音频时长, 如果不用拼接音频时长度是卡点的倒数第二位时间
         let asset = AVURLAsset(url: URL(fileURLWithPath: documensDirectory + (stuckPointMusicData?.localPath ?? "")), options: nil)