浏览代码

Merge branch 'master' of https://git.yishihui.com/iOS/BFRecordScreenKit

wenweiwei 3 年之前
父节点
当前提交
72177e915e

+ 1 - 3
BFRecordScreenKit/Classes/BFRecordExport.swift

@@ -22,8 +22,6 @@ public enum ExportError: Int {
     case DiskNoSpace = -31006
 }
 
-let testFor = true
-
 public class BFRecordExport {
     public var progress: ((Float) -> Void)?
     public var exportCompletion: ((Error?, URL?) -> Void)?
@@ -398,7 +396,7 @@ public class BFRecordExport {
 
                     let exportEndTime = Date().timeIntervalSince1970
                     BFLog(1, message: "生成视频时长为:\(outSeconds) 总用时:\(exportEndTime - tempBeginExport)")
-                    if testFor {
+                    if(PQENVUtil.shared.channel == "Development"){
                         cShowHUB(superView: nil, msg: (outSeconds == 0) ? "合成失败请重试。" : String(format: "总用时: %.2f", exportEndTime - tempBeginExport))
                     }
 

+ 19 - 12
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenController.swift

@@ -731,9 +731,11 @@ public class BFRecordScreenController: BFBaseViewController {
         if !SWNetRequest.isNetReachabled() {
             cShowHUB(superView: view, msg: "网络不佳,字幕可能无法生成")
         }
-
-        view.addSubview(neoNuiDebugLabel)
-        view.addSubview(audioQueueRecoderLabel)
+        if(PQENVUtil.shared.channel == "Development"){
+            view.addSubview(neoNuiDebugLabel)
+            view.addSubview(audioQueueRecoderLabel)
+        }
+ 
     }
 
     @objc func editSubtitle() {
@@ -1244,17 +1246,22 @@ public class BFRecordScreenController: BFBaseViewController {
                 } else {
                     tuples?.forEach { tuple in
                         itemModels[currItemModelIndex].voiceStickers.insert(tuple.0, at: tuple.1)
-                        let currDuration = tuple.0.endCMTime.seconds - tuple.0.startCMTime.seconds
-                        itemModels[currItemModelIndex].materialDuraion = itemModels[currItemModelIndex].materialDuraion + currDuration
+                        let currDuration = tuple.0.endCMTime - tuple.0.startCMTime
+                        itemModels[currItemModelIndex].materialDuraion = itemModels[currItemModelIndex].materialDuraion + currDuration.seconds
                         for (index, item) in itemModels[currItemModelIndex].voiceStickers.enumerated() {
                             if index > tuple.1 {
-                                // 注:开始时间减去duration or 等一前一段录音的结束时间
-//                                item.startCMTime.seconds -= currDuration
-//                                item.endCMTime.seconds -= currDuration
-                                let startTime = item.startCMTime.seconds
-                                let endTime = item.endCMTime.seconds
-                                item.startCMTime = CMTime(seconds: startTime + currDuration, preferredTimescale: 1000)
-                                item.endCMTime = CMTime(seconds: endTime + currDuration, preferredTimescale: 1000)
+                                // 注:之后的录音和字幕增加对应的时长
+                                item.startCMTime = item.startCMTime + currDuration
+                                item.endCMTime = item.endCMTime + currDuration
+                                
+                                let titlsList = itemModels[currItemModelIndex].titleStickers.filter({ tm in
+                                    tm.taskID == item.titleTaskId
+                                })
+                                
+                                for titleM in titlsList {
+                                    titleM.timelineIn = titleM.timelineIn + currDuration
+                                    titleM.timelineOut = titleM.timelineOut + currDuration
+                                }
                             }
                         }
                     }