Browse Source

撤销移动时的bug

胡志强 3 years ago
parent
commit
3079bd1bbe

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

@@ -1808,7 +1808,7 @@ public class BFRecordScreenController: BFBaseViewController {
             BFLog(3, message: "重置播放index-\(#function) = \(currentPlayRecordIndex)")
             hadPrepareToPlayRecord = false
             progressThumV.progress = action.timestamp
-
+            
             if let event = events.last {
                 changeWithDrawBtnLayout(event.type)
             } else {
@@ -1820,6 +1820,10 @@ public class BFRecordScreenController: BFBaseViewController {
             /// 重绘录音进度视图
             if action.type > 1 {
                 resetAllIndirectionView()                
+            }else {
+                if currMediaType == .Camera {
+                    rscmanager.cameraProgressV?.progressView.contentOffset = CGPoint(x: currentAssetProgress.seconds * 70.0 / 5.0, y: 0)
+                }
             }
             // 如果是图片需重置播放按钮
             if itemModel.mediaType != .Video {
@@ -1939,6 +1943,8 @@ public class BFRecordScreenController: BFBaseViewController {
             hadPrepareToPlayRecord = false
             BFLog(1, message: "录音播放器初始化(有时候不准)")
             BFLog(3, message: "重置播放index-\(#function) = \(currentPlayRecordIndex)")
+            
+            //MARK:  播放器播放结束
             NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: newItem, queue: .main) { [weak self] _ in
                 guard let wself = self else {
                     BFLog(3, message: "wself为空AVPlayerItemDidPlayToEndTime")
@@ -1953,6 +1959,7 @@ public class BFRecordScreenController: BFBaseViewController {
             }
 //            recordPlayer.removeTimeObserver(recordPlayerTimeObserver as Any)
 //            recordPlayerTimeObserver?.invalidate()
+            //MARK: 声音播放器播放进度回调
             recordPlayerTimeObserver = recordPlayer.addPeriodicTimeObserver(forInterval: CMTime(value: 1, timescale: 1000), queue: DispatchQueue.global()) { [weak self, weak recordPlayer] time in
                 guard let wself = self, let rPlay = recordPlayer else {
                     BFLog(3, message: "wself为空")
@@ -2211,6 +2218,7 @@ public class BFRecordScreenController: BFBaseViewController {
             if avplayerTimeObserver != nil{
                 avplayerTimeObserver?.invalidate()
             }
+            //MARK: 视频播放器播放进度回调
             avplayerTimeObserver = assetPlayer.addPeriodicTimeObserver(forInterval: CMTime(value: 1, timescale: 1000), queue: DispatchQueue.global()) { [weak self] time in
                 // 进度监控
                 guard let wself = self else { return }
@@ -2221,7 +2229,7 @@ public class BFRecordScreenController: BFBaseViewController {
                 }
             } as? NSKeyValueObservation
         }
-
+        //MARK: 视频播放器结束回调
         NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: assetPlayer.currentItem, queue: .main) { [weak self] _ in
             guard let wself = self else {
                 return