Selaa lähdekoodia

1, 创建filter 移到支线 2, 添加 Loading 动画

jsonwang 3 vuotta sitten
vanhempi
commit
c4a3c505f9

+ 59 - 39
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

@@ -167,17 +167,20 @@ class PQStuckPointEditerController: PQBaseViewController {
                 // 初始化音频的开始和结束时间
                 self?.playeTimeRange = CMTimeRange(start: CMTimeMakeWithSeconds(Float64(startTime), preferredTimescale: BASE_FILTER_TIMESCALE), end: CMTimeMakeWithSeconds(Float64(endTime), preferredTimescale: BASE_FILTER_TIMESCALE))
 
-//                DispatchQueue.global().async { // 并行、异步
+                self?.dealParameter(model: self?.currentCreateStickersModel ?? .createStickersModelSpeed)
+                
+                DispatchQueue.global().async { // 并行、异步
                 let beginTime: TimeInterval = Date().timeIntervalSince1970
+                    
                 self?.mStickers = self?.createStickers(sections: self?.projectModel.sData?.sections ?? List(), inputSize: CGSize(width: CGFloat(self?.projectModel.sData?.videoMetaData?.videoWidth ?? 0), height: CGFloat(self?.projectModel.sData?.videoMetaData?.videoHeight ?? 0)), model: self?.currentCreateStickersModel ?? .createStickersModelSpeed)
-
-                self?.playerView.mStickers = self?.mStickers
-//                DispatchQueue.main.async { // 串行、异步
+              
+                DispatchQueue.main.async { // 串行、异步
+                    self?.playerView.mStickers = self?.mStickers
                     var endTime: TimeInterval = Date().timeIntervalSince1970
                     BFLog(message: "endTime is endTimeendTime \(endTime = beginTime)")
                     self?.playerView.play(pauseFirstFrame: false, playeTimeRange: self!.playeTimeRange)
-//                }
-//            }
+                }
+            }
             }
         }
         return stuckPointCuttingView
@@ -829,6 +832,12 @@ class PQStuckPointEditerController: PQBaseViewController {
 
     // 设置播放器
     func settingPlayerView() {
+        
+        if synchroMarskView.superview == nil {
+            UIApplication.shared.keyWindow?.addSubview(synchroMarskView)
+            synchroMarskView.show()
+        }
+        
         // 1,设置播放器的显示区域 和画布大小
         //  - 按第一个素材尺寸自适应
         playerView.pause()
@@ -892,53 +901,64 @@ class PQStuckPointEditerController: PQBaseViewController {
 
         // 2,创建滤镜
         let beginTime: TimeInterval = Date().timeIntervalSince1970
-        mStickers = createStickers(sections: projectModel.sData?.sections ?? List(), inputSize: CGSize(width: CGFloat(projectModel.sData?.videoMetaData?.videoWidth ?? 0), height: CGFloat(projectModel.sData?.videoMetaData?.videoHeight ?? 0)), model: currentCreateStickersModel)
-        playerView.mStickers = mStickers
+        dealParameter(model: currentCreateStickersModel)
+        
+        DispatchQueue.global().async {
+            self.mStickers = self.createStickers(sections: self.projectModel.sData?.sections ?? List(), inputSize: CGSize(width: CGFloat(self.projectModel.sData?.videoMetaData?.videoWidth ?? 0), height: CGFloat(self.projectModel.sData?.videoMetaData?.videoHeight ?? 0)), model: self.currentCreateStickersModel)
+            DispatchQueue.main.async { // 串行、异步
+                
+                self.playerView.mStickers = self.mStickers
 
-        let end: TimeInterval = Date().timeIntervalSince1970
-        BFLog(message: "createStickers tiskskskskme  \(end - beginTime)")
+                let end: TimeInterval = Date().timeIntervalSince1970
+                BFLog(message: "createStickers tiskskskskme  \(end - beginTime)")
 
-        // 3,设置音频
-        let audioPath = stuckPointMusicData?.localPath ?? ""
+                // 3,设置音频
+                let audioPath = self.stuckPointMusicData?.localPath ?? ""
 
-        BFLog(message: "初始化音频播放器的音频地址为:\(audioPath)")
-        playerView.stop()
-        // 这里的测试这个音乐播放有问题
-//        self.playerView.updateAsset(URL(fileURLWithPath: "63930549652d74e477141e3b79c8d29a9ef8af81625053214516.mp3", relativeTo:Bundle.main.resourceURL!), videoComposition: nil, audioMixModel: nil)
+                BFLog(message: "初始化音频播放器的音频地址为:\(audioPath)")
+                self.playerView.stop()
+                // 这里的测试这个音乐播放有问题
+        //        self.playerView.updateAsset(URL(fileURLWithPath: "63930549652d74e477141e3b79c8d29a9ef8af81625053214516.mp3", relativeTo:Bundle.main.resourceURL!), videoComposition: nil, audioMixModel: nil)
 
-        playerView.updateAsset(URL(fileURLWithPath: documensDirectory + audioPath), videoComposition: nil, audioMixModel: nil, originMusicDuration: finallyUserAudioTime, clipAudioRange: getClipAudioRange())
+                self.playerView.updateAsset(URL(fileURLWithPath: documensDirectory + audioPath), videoComposition: nil, audioMixModel: nil, originMusicDuration: self.finallyUserAudioTime, clipAudioRange: self.getClipAudioRange())
 
-        let end2: TimeInterval = Date().timeIntervalSince1970
-        BFLog(message: "updateAsset tiskskskskme  \(end2 - end)")
-        // 4, 设置播放器的输出画布大小
-        playerView.movie?.mShowVidoSize = CGSize(width: CGFloat(projectModel.sData?.videoMetaData?.videoWidth ?? 0), height: CGFloat(projectModel.sData?.videoMetaData?.videoHeight ?? 0))
+                let end2: TimeInterval = Date().timeIntervalSince1970
+                BFLog(message: "updateAsset tiskskskskme  \(end2 - end)")
+                // 4, 设置播放器的输出画布大小
+                self.playerView.movie?.mShowVidoSize = CGSize(width: CGFloat(self.projectModel.sData?.videoMetaData?.videoWidth ?? 0), height: CGFloat(self.projectModel.sData?.videoMetaData?.videoHeight ?? 0))
 
-        // 5,开始播放
-        playerView.isLoop = false
-        playerView.showProgressLab = true
+                // 5,开始播放
+                self.playerView.isLoop = false
+                self.playerView.showProgressLab = true
 
-        // 初始化音频的开始和结束时间
-        BFLog(message: "播放的器 开始\(String(describing: CMTimeGetSeconds(playeTimeRange.start))) 结束 \(String(describing: CMTimeGetSeconds(playeTimeRange.end)))")
-        let end3: TimeInterval = Date().timeIntervalSince1970
+                // 初始化音频的开始和结束时间
+                BFLog(message: "播放的器 开始\(String(describing: CMTimeGetSeconds(self.playeTimeRange.start))) 结束 \(String(describing: CMTimeGetSeconds(self.playeTimeRange.end)))")
+                let end3: TimeInterval = Date().timeIntervalSince1970
 
-        playerView.play(pauseFirstFrame: false, playeTimeRange: CMTimeRange(start: playeTimeRange.start, end: playeTimeRange.end))
+                self.playerView.play(pauseFirstFrame: false, playeTimeRange: CMTimeRange(start: self.playeTimeRange.start, end: self.playeTimeRange.end))
 
-        let end4: TimeInterval = Date().timeIntervalSince1970
-        BFLog(message: " playerView.play tiskskskskme  \(end4 - end3)")
+                let end4: TimeInterval = Date().timeIntervalSince1970
+                BFLog(message: " playerView.play tiskskskskme  \(end4 - end3)")
 
-        // 6,进度回调
-        playerView.progress = { [weak self] currentTime, tatolTime, _ in
+                // 6,进度回调
+                self.playerView.progress = { [weak self] currentTime, tatolTime, _ in
 
-            // 更新进度
-            let progress = (currentTime - CMTimeGetSeconds(self?.playeTimeRange.start ?? .zero)) / CMTimeGetSeconds(self?.playeTimeRange.duration ?? .zero)
-            BFLog(message: "\(currentTime) \(tatolTime) 显示播放器进度为: \(progress)")
+                    // 更新进度
+                    let progress = (currentTime - CMTimeGetSeconds(self?.playeTimeRange.start ?? .zero)) / CMTimeGetSeconds(self?.playeTimeRange.duration ?? .zero)
+                    BFLog(message: "\(currentTime) \(tatolTime) 显示播放器进度为: \(progress)")
 
-            self?.stuckPointCuttingView.updateProgress(progress: CGFloat(progress))
+                    self?.stuckPointCuttingView.updateProgress(progress: CGFloat(progress))
 
-            if self?.synchroMarskView.superview != nil {
-                self?.synchroMarskView.removeMarskView()
+                    if self?.synchroMarskView.superview != nil {
+                        self?.synchroMarskView.removeMarskView()
+                    }
+                }
+                
             }
         }
+        
+     
+      
     }
 
     deinit {
@@ -1028,7 +1048,7 @@ extension PQStuckPointEditerController {
         // 推荐卡点数
         let beginDecoderTime: TimeInterval = Date().timeIntervalSince1970
  
-            self.dealParameter(model: model)
+      
     
         // 保存滤镜对象数据
         var stickers: Array = Array<PQEditVisionTrackMaterialsModel>.init()