| 
					
				 | 
			
			
				@@ -913,6 +913,10 @@ class PQStuckPointEditerController: PQBaseViewController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if materialVC != nil, materialVC?.isToPublicHandle != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             materialVC?.isToPublicHandle!(isReCreate, selectedTotalDuration, selectedDataCount, selectedImageDataCount, mStickers, stuckPointMusicData, tempModel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if finallyStuckPoints.count == 0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                cShowHUB(superView: nil, msg: "无卡点信息,返回重新选择音乐") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let videoExporter = PQStuckPointPublicController() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             videoExporter.rhythmMode = currentCreateStickersModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             videoExporter.syncedUpVideoSpeedMin = modelSpeed_maxSpeed 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -976,11 +980,14 @@ class PQStuckPointEditerController: PQBaseViewController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 计算拼接音乐的开始和结束点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     func getClipAudioRange() -> CMTimeRange { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 设置音乐的拼接范围,开始:推荐的卡点  结束:点到的倒数第二位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let lastSecondPoint = Float((stuckPointMusicData!.rhythmSdata[0].pointTimes[stuckPointMusicData!.rhythmSdata[0].pointTimes.count - 2])) / Float(BASE_FILTER_TIMESCALE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let clipAudioRange = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            CMTimeRange(start: CMTime(value: CMTimeValue(Float(stuckPointMusicData?.startTime ?? 0) * Float(BASE_FILTER_TIMESCALE)), timescale: BASE_FILTER_TIMESCALE), end: CMTime(value: CMTimeValue((Float(lastSecondPoint)) * Float(BASE_FILTER_TIMESCALE)), timescale: BASE_FILTER_TIMESCALE)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return clipAudioRange 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if stuckPointMusicData!.rhythmSdata.count > 0 && stuckPointMusicData?.rhythmSdata[0].pointTimes.count ?? 0 > 2 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let lastSecondPoint = Float((stuckPointMusicData!.rhythmSdata[0].pointTimes[stuckPointMusicData!.rhythmSdata[0].pointTimes.count - 2])) / Float(BASE_FILTER_TIMESCALE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let clipAudioRange = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                CMTimeRange(start: CMTime(value: CMTimeValue(Float(stuckPointMusicData?.startTime ?? 0) * Float(BASE_FILTER_TIMESCALE)), timescale: BASE_FILTER_TIMESCALE), end: CMTime(value: CMTimeValue((Float(lastSecondPoint)) * Float(BASE_FILTER_TIMESCALE)), timescale: BASE_FILTER_TIMESCALE)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return clipAudioRange 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return CMTimeRange(start: CMTime(value: 0, timescale: 1), duration: CMTime(value: 1, timescale: 1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 设置播放器 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1456,6 +1463,10 @@ extension PQStuckPointEditerController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /// - Parameter seed: 档位速度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /// - Returns: 最后使用的卡点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     func getUsedStuckPoint(seed: Int) -> Array<Float> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if !(stuckPointMusicData!.rhythmSdata.count > 0 && stuckPointMusicData!.rhythmSdata[0].pointTimes > 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 推荐卡点数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var stuckPoints: Array = Array<Float>.init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |