胡志强 3 лет назад
Родитель
Сommit
4b576ed8e6

+ 10 - 10
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenController.swift

@@ -1393,17 +1393,12 @@ public class BFRecordScreenController: BFBaseViewController {
 
     /// 删除指定段落的所有字幕 数据
     /// - Parameter voiceModel: 删除的音频数据
-    func deleteTitles(voiceModel: PQVoiceModel) -> [PQEditSubTitleModel] {
+    func deleteTitles(voiceModel: PQVoiceModel) {
         BFLog(message: "itemModels[currItemModelIndex].titleStickers  删除前:\(itemModels[currItemModelIndex].titleStickers.count) model.startCMTime.seconds: \(voiceModel.startCMTime.seconds) model.end: \(voiceModel.endCMTime.seconds)")
-        var deleteTemp = [PQEditSubTitleModel]()
 
         // 从原数组中删除
         itemModels[currItemModelIndex].titleStickers.removeAll { m in
-            let su = (m.recordId == voiceModel.recordId)
-            if su {
-                deleteTemp.append(m)
-            }
-            return su
+            m.recordId == voiceModel.recordId
         }
 
         BFLog(message: "itemModels[currItemModelIndex].titleStickers  删除后:\(itemModels[currItemModelIndex].titleStickers.count)")
@@ -1412,7 +1407,6 @@ public class BFRecordScreenController: BFBaseViewController {
         subtitleLabel.text = ""
         subtitleLabel.backgroundColor = UIColor.clear
 
-        return deleteTemp
     }
 
     @objc func deleteRecordAction() {
@@ -1422,11 +1416,17 @@ public class BFRecordScreenController: BFBaseViewController {
 
             // 撤销记录点
             var event = WithDrawModel(type: 3, timestamp: currentAssetProgress, recordItem: rscurrentManager.recordItem!.mutableCopy() as! BFRecordItemModel)
-            event.deletedTittles = deleteTitles(voiceModel: model)
             events.append(event)
 
             itemModels[currItemModelIndex].voiceStickers.remove(at: isStopAtRecordRange)
+            itemModels[currItemModelIndex].voiceChangeStickers.removeAll { voic in
+                voic.recordId == model.recordId
+            }
+            deleteTitles(voiceModel: model)
+            
+            
             indirectionView?.deleteItem(index: isStopAtRecordRange)
+            
 
             rscurrentManager.deleteRecord(at: currentAssetProgress)
             
@@ -1894,7 +1894,7 @@ public class BFRecordScreenController: BFBaseViewController {
             let originRange = CMTimeRange(start: m.startCMTime, end: CMTime(seconds: m.endCMTime.seconds - 0.02, preferredTimescale: 1000))
             if CMTimeRangeGetIntersection(originRange, otherRange: newRange).duration.seconds > 0 {
                 deletedVoices.append(m)
-                deletedTitlesTemp += deleteTitles(voiceModel: m)
+                deleteTitles(voiceModel: m)
                 continue
             }
         }