|
@@ -1225,7 +1225,6 @@ extension PQStuckPointEditerController {
|
|
|
|
|
|
// 已经取到的视频素材总长度,用于和原视频素材时长做对比,不够多加一个点
|
|
|
var useAssestDuration: Float = 0.0
|
|
|
- selectedTotalDuration = 0.0
|
|
|
switch model {
|
|
|
case .createStickersModelPoint: // 跳跃卡点
|
|
|
stuckPointsTemp = getUsedStuckPoint(seed: stuckPointMusicData?.speed ?? 0)
|
|
@@ -1366,27 +1365,36 @@ extension PQStuckPointEditerController {
|
|
|
break
|
|
|
}
|
|
|
// 拼接图片所使用的时长
|
|
|
- // 二,最一个卡点在原数组中的位置,从这个位置开始拼接图片所要使用的卡点
|
|
|
+ // 选择一组图片 按图片数量计算卡点的总时长
|
|
|
+ var oneSelectImageDuration:Float = 0.0
|
|
|
if selectedImageDataCount > 0 {
|
|
|
+ //二,最一个卡点在原数组中的位置,从这个位置开始拼接图片所要使用的卡点
|
|
|
var pointIndex = stuckPointsTemp.firstIndex(where: { (point) -> Bool in
|
|
|
(point == (finallyStuckPoints.last ?? 0).truncatingRemainder(dividingBy: (stuckPointsTemp.last ?? 0)))
|
|
|
})
|
|
|
pointIndex = (pointIndex ?? 0) + 1
|
|
|
|
|
|
+ var tempStartTime:Float = -1
|
|
|
+ var tempEndTime:Float = -1
|
|
|
for i in 0 ... selectedImageDataCount {
|
|
|
let a = stuckPointsTemp[(i + Int(pointIndex ?? 0)) % stuckPointsTemp.count]
|
|
|
let b = Float((i + Int(pointIndex ?? 0)) / stuckPointsTemp.count) * (stuckPointsTemp.first ?? 0)
|
|
|
finallyStuckPoints.append(a + b)
|
|
|
+ if(tempStartTime == -1){
|
|
|
+ tempStartTime = a + b
|
|
|
+ }
|
|
|
+ tempEndTime = a + b
|
|
|
+
|
|
|
}
|
|
|
- selectedTotalDuration = Float64(((finallyStuckPoints.last ?? 0) - (finallyStuckPoints.first ?? 0)))
|
|
|
+ oneSelectImageDuration = tempEndTime - tempStartTime
|
|
|
}
|
|
|
|
|
|
// 3)素材全是图片时如果时长 < 10s要做轮播处理
|
|
|
- if selectedDataCount == selectedImageDataCount && selectedTotalDuration < 10 {
|
|
|
- // 已经设置过循环次数
|
|
|
+ if selectedDataCount == selectedImageDataCount && oneSelectImageDuration < 10 {
|
|
|
+ //设置 UI类型为循环模式
|
|
|
speedSettingView.viewType = 3
|
|
|
|
|
|
- // lastCyclesSelectIndex 应该是手动设置的值
|
|
|
+ // lastCyclesSelectIndex != -1 已经设置过循环次数 应该是手动设置的值
|
|
|
if lastCyclesSelectIndex != -1 {
|
|
|
if(lastCyclesSelectIndex != 0){
|
|
|
for i in 0 ... lastCyclesSelectIndex - 1{
|
|
@@ -1404,7 +1412,7 @@ extension PQStuckPointEditerController {
|
|
|
|
|
|
} else {
|
|
|
lastCyclesSelectIndex = 1
|
|
|
- while selectedTotalDuration < 10 {
|
|
|
+ while oneSelectImageDuration < 10 {
|
|
|
// 不够10S 时 一次加图片数量的卡点数
|
|
|
var pointIndex = stuckPointsTemp.firstIndex(where: { (point) -> Bool in
|
|
|
(point == (finallyStuckPoints.last ?? 0).truncatingRemainder(dividingBy: (stuckPointsTemp.last ?? 0)))
|
|
@@ -1415,8 +1423,8 @@ extension PQStuckPointEditerController {
|
|
|
let b = Float((i + Int(pointIndex ?? 0)) / stuckPointsTemp.count) * (stuckPointsTemp.first ?? 0)
|
|
|
finallyStuckPoints.append(a + b)
|
|
|
}
|
|
|
-
|
|
|
- selectedTotalDuration = Float64((finallyStuckPoints.last ?? 0) - (finallyStuckPoints.first ?? 0))
|
|
|
+ oneSelectImageDuration = Float((finallyStuckPoints.last ?? 0) - (finallyStuckPoints.first ?? 0))
|
|
|
+
|
|
|
lastCyclesSelectIndex = lastCyclesSelectIndex + 1
|
|
|
}
|
|
|
speedSettingView.setSelectItem(index: lastCyclesSelectIndex, isSettingPlayer: false)
|