| 
					
				 | 
			
			
				@@ -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() 
			 |