소스 검색

抛留功能适配

harry 3 년 전
부모
커밋
6eff379005
1개의 변경된 파일4개의 추가작업 그리고 36개의 파일을 삭제
  1. 4 36
      BFRecordScreenKit/Classes/BFRecordExport.swift

+ 4 - 36
BFRecordScreenKit/Classes/BFRecordExport.swift

@@ -39,18 +39,15 @@ public class BFRecordExport {
 
     
     //MARK: -
-    public func prepareData(){
-        if let data = data, data.count > 0{
-            _ = generationTimeRanges(voiceStickers: data.first!.voiceStickers)
-        }
-    }
 
     /// synthesisAll: 合成所有还是只合成录音部分
     public func startExprot(synthesisAll:Bool){
         // 1,背景视频素材
         if let itemModels = data {
+            
             var totalDur = 0.0
             for (index, itemModel) in itemModels.enumerated() {
+                itemModel.videoStickers.removeAll()
                 let asset = itemModel.baseMaterial
                 if let dur = asset?.duration.seconds {
                     if synthesisAll {
@@ -96,23 +93,6 @@ public class BFRecordExport {
         
     }
     
-    func generationTimeRanges(voiceStickers:[PQVoiceModel]) -> [CMTimeRange]{
-        
-        var ranges = [CMTimeRange]()
-        var start : Double = 0
-        for model in voiceStickers {
-            if model.startTime > start{
-                let range = CMTimeRange(start: CMTime(seconds: start, preferredTimescale: 100), duration: CMTime(seconds: model.startTime - start, preferredTimescale: 100))
-                ranges.append(range)
-                
-            }
-            ranges.append(CMTimeRange(start: CMTime(seconds: model.startTime, preferredTimescale: 100), end: CMTime(seconds: model.endTime, preferredTimescale: 100)))
-            start = model.endTime
-        }
-        
-        return ranges
-    }
-    
     func splitBaseMaterial(timelineIn:Double, model_in:Double, duration:Double) -> PQEditVisionTrackMaterialsModel{
         let bgMovieInfo: PQEditVisionTrackMaterialsModel = PQEditVisionTrackMaterialsModel()
         if let asset = data?.first?.baseMaterial {
@@ -126,6 +106,7 @@ public class BFRecordExport {
             bgMovieInfo.volumeGain = 1
             bgMovieInfo.aptDuration = bgMovieInfo.timelineOut
             bgMovieInfo.duration = bgMovieInfo.timelineOut
+            BFLog(1, message: "hhh- timIn:\(timelineIn), modIn:\(model_in), dur:\(duration)")
         }
         
         return bgMovieInfo
@@ -189,7 +170,7 @@ public class BFRecordExport {
             
             BFLog(message: "导出设置的码率为:\(orgeBitRate)")
             if exporter!.prepare(videoSize: size, videoAverageBitRate: orgeBitRate) {
-                exporter!.start(playeTimeRange: CMTimeRange(start: CMTime.zero, end: composition.duration))
+                exporter!.start(playeTimeRange: CMTimeRange(start: CMTime.zero, end: synthesisAll ? asset?.duration as! CMTime : composition.duration))
             }
             exporter?.progressClosure = { [weak self] _, _, progress in
                 //            BFLog(message: "正片合成进度 \(progress * 100)%")
@@ -205,7 +186,6 @@ public class BFRecordExport {
                     
                     BFLog(1, message: "无水印的视频导出完成: \(String(describing: url)) 生成视频时长为:\(outSeconds)")
                     cShowHUB(superView: nil, msg: ( outSeconds == 0) ? "合成失败请重试。" : "合成成功")
-                    self?.saveVideoToPhoto(url: url)
                     self?.exportCompletion?(nil, url)
 
                 }else{
@@ -226,18 +206,6 @@ public class BFRecordExport {
 
     }
     
-    func saveVideoToPhoto(url:URL){
-        PHPhotoLibrary.shared().performChanges {
-            PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: url)
-        } completionHandler: { isFinished, _ in
-            if isFinished {
-                DispatchQueue.main.async {
-                    cShowHUB(superView: nil, msg: "保存成功")
-                }
-            }
-        }
-    }
-    
     func dealAsset(){
 //        asset?.tracks.first(where: { track in
 //            if track.mediaType == .audio{