|
@@ -1275,26 +1275,38 @@ extension PQStuckPointEditerController {
|
|
|
var clipNum: Int = 0
|
|
|
|
|
|
var i: Int = 0
|
|
|
- // L/(n+1) L -原视觉素材总时长 n-抛留倍数
|
|
|
- while useAssestDuration < Float(Float(selectedTotalDuration) / (Float(maxSpeed) + 1)) {
|
|
|
- // 回环从头取
|
|
|
+ // L/(n+1) L -原视觉素材总时长 n-抛留倍数 lastJumpSpeedSelectIndex 是位置 对应的值要+1
|
|
|
+ //根据公式计划出的总时长
|
|
|
+ let jumpTime = Float(selectedTotalDuration) / Float(lastJumpSpeedSelectIndex + 2)
|
|
|
+
|
|
|
+ while useAssestDuration < Float(jumpTime) {
|
|
|
+ // 回环从头取\
|
|
|
if i + 1 >= stuckPointsTemp.count {
|
|
|
i = 0
|
|
|
}
|
|
|
// 快速段
|
|
|
let LA = (stuckPointsTemp[i + 1] - stuckPointsTemp[i])
|
|
|
useAssestDuration = useAssestDuration + Float(LA)
|
|
|
- if useAssestDuration > Float(selectedTotalDuration) { break }
|
|
|
-// //慢速段
|
|
|
-// let LB = (stuckPointsTemp[i+2] - stuckPointsTemp[i+1])
|
|
|
-// useAssestDuration = useAssestDuration + Float(LB)
|
|
|
+
|
|
|
i = i + 1
|
|
|
clipNum = clipNum + 1
|
|
|
}
|
|
|
|
|
|
// 拼接要使用的卡点信息
|
|
|
+/
|
|
|
for i in 0 ... clipNum {
|
|
|
- finallyStuckPoints.append(stuckPointsTemp[i % stuckPointsTemp.count] + Float(i / stuckPointsTemp.count) * (stuckPointsTemp.first ?? 0))
|
|
|
+
|
|
|
+ if(i < stuckPointsTemp.count){
|
|
|
+ finallyStuckPoints.append(stuckPointsTemp[i])
|
|
|
+ }else{
|
|
|
+ let duration = (stuckPointsTemp.last ?? 0.0) - (stuckPointsTemp.first ?? 0.0)
|
|
|
+ let index = i % stuckPointsTemp.count
|
|
|
+ if((index + 1) < stuckPointsTemp.count){
|
|
|
+ let a = duration * Float((i / stuckPointsTemp.count)) + stuckPointsTemp[index + 1]
|
|
|
+ finallyStuckPoints.append(a)
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
break
|