Ver código fonte

修复切换素材段落闪烁问题

jsonwang 3 anos atrás
pai
commit
9465a62657

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

@@ -73,6 +73,8 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
             
             guard let wself = self else { return }
             
+ 
+            BFLog(message: "当前播放器状态: \(wself.avplayer.timeControlStatus.rawValue) \(wself.avplayer.currentItem?.status.rawValue)")
             // 拖动的跳跃,不要修改时间点
             if (wself.dele?.isNormalPlaying ?? false){
                 wself.currentAssetProgress = CMTime(seconds: (currTime + wself.currPlayTime).seconds, preferredTimescale: 1000)
@@ -80,8 +82,12 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
 //            BFLog(1, message: "拖动 currTime: \(currTime.seconds)")
             DispatchQueue.main.async {[weak self] in
                 guard let wself = self else { return }
-                wself.dele?.updateSubtitle(time: wself.currentAssetProgress)
-                wself.locationTo(time: wself.currentAssetProgress)
+                //add by ak 播放状态才进行刷新 UI
+                if(wself.avplayer.timeControlStatus == .playing){
+                    wself.dele?.updateSubtitle(time: wself.currentAssetProgress)
+                    wself.locationTo(time: wself.currentAssetProgress)
+                }
+
             }
             
         }) as? NSKeyValueObservation

+ 3 - 0
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenController.swift

@@ -2453,6 +2453,9 @@ extension BFRecordScreenController: UICollectionViewDelegate, UICollectionViewDa
         currItemModelIndex = page
         // 暂停
         pause()
+        //add by ak  BFRecordScreenCameraManager 中的播放器也要暂停那里的进度回调也会刷新 UI 导致出现闪烁 BUG
+        rscmanager.pause()
+ 
         // 如果在录制中,停止录制
         if isRecording {
             endRecord()