Explorar o código

按钮状态更新

harry %!s(int64=3) %!d(string=hai) anos
pai
achega
d652d9bd31

+ 4 - 2
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenCameraManager.swift

@@ -310,9 +310,7 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
             }
             
             let currDuration = videoS.1.timelineCMOut - videoS.1.timelineCMIn
-            item.materialDuraion = item.materialDuraion - currDuration
             currentAssetProgress = videoS.1.timelineCMIn
-            BFLog(1, message: "删除时长:\(currDuration.seconds)")
             // 更新音频的时间点
             for model in item.voiceStickers {
                 if CMTimeCompare(currentAssetProgress, model.startCMTime) < 0 {
@@ -336,6 +334,10 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
 
                 }
             }
+            
+            item.materialDuraion = item.videoStickers.last?.timelineCMOut ?? .zero
+            BFLog(1, message: "删除时长:\(currDuration.seconds), currTime: \(currentAssetProgress.seconds), totl:\(item.materialDuraion.seconds)")
+
         }
     }
     

+ 14 - 7
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenController.swift

@@ -156,8 +156,6 @@ public class BFRecordScreenController: BFBaseViewController {
             if currMediaType == .Video {
                 (cell as? BFVideoCoverViewCell)?.rotationView()
             }
-
- 
         }
     }
     
@@ -186,10 +184,17 @@ public class BFRecordScreenController: BFBaseViewController {
     var isEndPlay = false {
         didSet{
             if isEndPlay {
-                recordBtn.isHidden = (currMediaType != .Video) ? false : true
-                if currMediaType == .Video {
-                    deleteRecordBtn.isHidden = true
+                
+                switch currMediaType {
+                case .Image:
+                    recordBtn.isHidden = false
+                case .Video:
+                    recordBtn.isHidden = true
+                case .Camera:
+                    recordBtn.isHidden = false
                 }
+                
+                deleteRecordBtn.isHidden = true
                 subtitleBtn.isHidden = false
                 soundSettingBtn.isHidden = false
             }else {
@@ -1619,8 +1624,10 @@ public class BFRecordScreenController: BFBaseViewController {
         hadPrepareToPlayRecord = false
         BFLog(1, message: "isDragingProgressSlder : \(isDragingProgressSlder)")
         BFLog(3, message: "重置播放index-\(#function) = \(currentPlayRecordIndex)")
-        isEndPlay = (progress == 1)
+        
         searchStopAtRecordRange()
+        isEndPlay = (progress == 1) // 在searchStopAtRecordRange后边是保证拖动到结尾时,视频的按钮隐藏
+        
         changeWithDrawBtnLayout(0)
         recorderManager?.voiceModel = nil
         
@@ -1691,7 +1698,7 @@ public class BFRecordScreenController: BFBaseViewController {
             }
         }
 
-        if startTime != nil && endTime != nil && !isEndPlay{
+        if startTime != nil && endTime != nil {
             //  TODO: 停在了录音区间,显示删除按钮
             if needAdsorb {
                 if fabs((endTime! - currentAssetProgress).seconds) < 0.5 {