Bläddra i källkod

播放结束隐藏UI

harry 3 år sedan
förälder
incheckning
79002b9c09
1 ändrade filer med 24 tillägg och 8 borttagningar
  1. 24 8
      BFRecordScreenKit/Classes/BFRecordScreenController.swift

+ 24 - 8
BFRecordScreenKit/Classes/BFRecordScreenController.swift

@@ -42,7 +42,11 @@ public class BFRecordScreenController: BFBaseViewController {
             recordBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#28BE67", alpha: isRecording ? 0.6 : 1)
         }
     }
-    
+    var isEndPlay = false {
+        didSet{
+            recordBtn.isHidden = isEndPlay
+        }
+    }
     var isNormalPlaying = false {               // 是否正在播放
         didSet{
             playBtn.isSelected = isNormalPlaying
@@ -215,6 +219,8 @@ public class BFRecordScreenController: BFBaseViewController {
                     sself.pause()
                 }
                 sself.isDragingProgressSlder = true
+                BFLog(1, message: "drag 进行中")
+
                 sself.changeProgress(progress: process)
             }
         }
@@ -366,9 +372,9 @@ public class BFRecordScreenController: BFBaseViewController {
     }
     
     @objc func startRecord(){
-        BFLog(1, message: "start \(UIControl.Event.touchDown)")
+        let point = progressThumV.progressView.contentOffset
+        progressThumV.progressView .setContentOffset(point, animated: false)
         isRecording = true
-
         pause()
         
         events.append(WithDrawModel(type: 2, timestamp: self.currentAssetProgress.seconds))
@@ -465,7 +471,7 @@ public class BFRecordScreenController: BFBaseViewController {
         isDragingProgressSlder = false
         currentPlayRecordIndex = -1
         hadPrepareToPlayRecord = false
-        
+        BFLog(1, message: isDragingProgressSlder ? "drag false" : "drag  tr")
         searchStopAtRecordRange()
     }
     
@@ -474,6 +480,8 @@ public class BFRecordScreenController: BFBaseViewController {
         let elems = itemModels[currItemModelIndex].voiceStickers.enumerated().filter({ elem in
             elem.1.startTime <= self.currentAssetProgress.seconds && elem.1.endTime > self.currentAssetProgress.seconds
         })
+        isEndPlay = false
+        
         if elems.count > 0{
             //  TODO: 停在了录音区间,显示删除按钮
             isStopAtRecordRange = elems.first!.0
@@ -617,6 +625,13 @@ public class BFRecordScreenController: BFBaseViewController {
         isNormalPlaying = true
         assetPlayer?.volume = 0.2
         movie?.startProcessing()
+        if isEndPlay {
+            isEndPlay = false
+            assetPlayer?.seek(to: CMTime.zero)
+            progressThumV.progress = 0
+            currentPlayRecordIndex = -1
+            recordBtn.isHidden = false
+        }
         
         self.assetPlayer?.play()
     }
@@ -744,13 +759,14 @@ public class BFRecordScreenController: BFBaseViewController {
         NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: assetPlayer?.currentItem, queue: .main) { [weak self] notify in
             BFLog(1, message: "AVPlayerItemDidPlayToEndTime = \(notify)")
             self?.isNormalPlaying = false
-            self?.assetPlayer?.seek(to: CMTime.zero)
-            self?.progressThumV.progress = 0
-            
-            self?.currentPlayRecordIndex = -1
+//            self?.assetPlayer?.seek(to: CMTime.zero)
+//            self?.progressThumV.progress = 0
+            self?.isEndPlay = true
+//            self?.currentPlayRecordIndex = -1
             if self?.isRecording ?? false {
                 self?.endRecord()
             }
+            self?.recordBtn.isHidden = true
         }
     }