|
@@ -1035,9 +1035,8 @@ extension PQStuckPointEditerController {
|
|
BFLog(message: "单个视频\(sticker.locationPath)时长::\(CMTimeGetSeconds(asset.duration)) ,clipNum is:\(clipNum)")
|
|
BFLog(message: "单个视频\(sticker.locationPath)时长::\(CMTimeGetSeconds(asset.duration)) ,clipNum is:\(clipNum)")
|
|
for clipindex in 0 ... clipNum - 1 {
|
|
for clipindex in 0 ... clipNum - 1 {
|
|
// deep copy sticker model 防止只有一个对象
|
|
// deep copy sticker model 防止只有一个对象
|
|
- let stickerjson = sticker.toJSONString(prettyPrint: false)
|
|
|
|
- let deepCopySticker = Mapper<PQEditVisionTrackMaterialsModel>().map(JSONString: stickerjson!)
|
|
|
|
-
|
|
|
|
|
|
+ let deepCopySticker:PQEditVisionTrackMaterialsModel? = sticker.copy() as? PQEditVisionTrackMaterialsModel
|
|
|
|
+
|
|
// 设置循环模式和适配模式
|
|
// 设置循环模式和适配模式
|
|
deepCopySticker?.generateDefaultValues()
|
|
deepCopySticker?.generateDefaultValues()
|
|
|
|
|
|
@@ -1083,9 +1082,9 @@ extension PQStuckPointEditerController {
|
|
for (index, point) in finallyStuckPoints.enumerated() {
|
|
for (index, point) in finallyStuckPoints.enumerated() {
|
|
let sticker: PQEditVisionTrackMaterialsModel = section.sectionTimeline!.visionTrack!.getEnableVisionTrackMaterials()[index % section.sectionTimeline!.visionTrack!.getEnableVisionTrackMaterials().count]
|
|
let sticker: PQEditVisionTrackMaterialsModel = section.sectionTimeline!.visionTrack!.getEnableVisionTrackMaterials()[index % section.sectionTimeline!.visionTrack!.getEnableVisionTrackMaterials().count]
|
|
BFLog(message: "stickerlocationPath sticker : \(sticker.locationPath)")
|
|
BFLog(message: "stickerlocationPath sticker : \(sticker.locationPath)")
|
|
- let stickerjson = sticker.toJSONString(prettyPrint: false)
|
|
|
|
-
|
|
|
|
- let deepCopySticker = Mapper<PQEditVisionTrackMaterialsModel>().map(JSONString: stickerjson!)
|
|
|
|
|
|
+//
|
|
|
|
+ let deepCopySticker:PQEditVisionTrackMaterialsModel? = sticker.copy() as? PQEditVisionTrackMaterialsModel
|
|
|
|
+
|
|
if deepCopySticker!.type == StickerType.IMAGE.rawValue {
|
|
if deepCopySticker!.type == StickerType.IMAGE.rawValue {
|
|
if index + 1 < finallyStuckPoints.count {
|
|
if index + 1 < finallyStuckPoints.count {
|
|
deepCopySticker!.timelineIn = Float64("\(finallyStuckPoints[index])") ?? 0.0
|
|
deepCopySticker!.timelineIn = Float64("\(finallyStuckPoints[index])") ?? 0.0
|
|
@@ -1150,10 +1149,8 @@ extension PQStuckPointEditerController {
|
|
for clipindex in 0 ... sticker.clipCount {
|
|
for clipindex in 0 ... sticker.clipCount {
|
|
// deep copy sticker model 防止只有一个对象
|
|
// deep copy sticker model 防止只有一个对象
|
|
let deepCopyStickerDecoderTime: TimeInterval = Date().timeIntervalSince1970
|
|
let deepCopyStickerDecoderTime: TimeInterval = Date().timeIntervalSince1970
|
|
-
|
|
|
|
- let stickerjson = sticker.toJSONString(prettyPrint: false)
|
|
|
|
-
|
|
|
|
- let deepCopySticker = Mapper<PQEditVisionTrackMaterialsModel>().map(JSONString: stickerjson!)
|
|
|
|
|
|
+
|
|
|
|
+ let deepCopySticker:PQEditVisionTrackMaterialsModel? = sticker.copy() as? PQEditVisionTrackMaterialsModel
|
|
|
|
|
|
BFLog(message: "生成stickers 总时长为 aaa\(Date().timeIntervalSince1970 - deepCopyStickerDecoderTime)")
|
|
BFLog(message: "生成stickers 总时长为 aaa\(Date().timeIntervalSince1970 - deepCopyStickerDecoderTime)")
|
|
// 设置循环模式和适配模式
|
|
// 设置循环模式和适配模式
|
|
@@ -1419,8 +1416,9 @@ extension PQStuckPointEditerController {
|
|
let LA = tempMaxSpeed * (stuckPointsTemp[i + 1] - stuckPointsTemp[i])
|
|
let LA = tempMaxSpeed * (stuckPointsTemp[i + 1] - stuckPointsTemp[i])
|
|
let LAValue = String(format: "%.6f", tempMaxSpeed * (stuckPointsTemp[i + 1] - stuckPointsTemp[i]))
|
|
let LAValue = String(format: "%.6f", tempMaxSpeed * (stuckPointsTemp[i + 1] - stuckPointsTemp[i]))
|
|
useAssestDurationTemp = useAssestDurationTemp + (Float(LAValue) ?? 0.0)
|
|
useAssestDurationTemp = useAssestDurationTemp + (Float(LAValue) ?? 0.0)
|
|
|
|
+ //6x 第一个卡点X 倍速 > 原素材
|
|
if useAssestDurationTemp > Float(assetDuration) {
|
|
if useAssestDurationTemp > Float(assetDuration) {
|
|
- useAssestDurationTemp = useAssestDurationTemp - (Float(LAValue) ?? 0.0)
|
|
|
|
|
|
+ useAssestDurationTemp = Float(assetDuration)
|
|
break
|
|
break
|
|
}
|
|
}
|
|
LACount = LACount + 1
|
|
LACount = LACount + 1
|
|
@@ -1487,6 +1485,9 @@ extension PQStuckPointEditerController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ }else {
|
|
|
|
+ //出现在第一个卡点X 倍速 > 原素材
|
|
|
|
+ finallyStuckPoints.removeLast()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|