Browse Source

返回按钮加背景色;
合成的播放按钮状态更新

harry 3 years ago
parent
commit
5a4e6e2461

+ 21 - 0
Introduce/Assets.xcassets/home/top_shadow.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "top_shadow@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
Introduce/Assets.xcassets/home/top_shadow.imageset/top_shadow@3x.png


+ 2 - 0
Introduce/Record/INIntroduceController.swift

@@ -50,6 +50,8 @@ class INIntroduceController: BFBaseViewController {
     override func viewDidLoad() {
         super.viewDidLoad()
         navHeadImageView?.backgroundColor = .clear
+        navHeadImageView?.image = UIImage(named: "top_shadow")
+        navHeadImageView?.contentMode = .scaleToFill
         leftButton(image: nil, imageName: nil, tintColor: .white)
 
         exportBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#389AFF")

+ 18 - 6
Introduce/Record/INVideoExportController.swift

@@ -148,9 +148,13 @@ class INVideoExportController: BFBaseViewController {
         let avplayer = AVPlayer()
         avplayerTimeObserver = avplayer.addPeriodicTimeObserver(forInterval: CMTime(value: 1, timescale: 100), queue: DispatchQueue.global()) { [weak self, weak avplayer] _ in
             //    进度监控
-            if let item = avplayer?.currentItem {
-                DispatchQueue.main.async { [weak self] in
-                    self?.sliderView?.progress = CMTimeGetSeconds(item.currentTime()) / CMTimeGetSeconds(item.duration)
+            if let item = avplayer?.currentItem, !(self?.sliderView?.isDragingProgressSlder ?? false) {
+                DispatchQueue.main.async { [weak self, weak avplayer] in
+                    if avplayer?.currentItem?.status != .readyToPlay {
+                        self?.sliderView?.progress = 0
+                    }else{
+                        self?.sliderView?.progress = CMTimeGetSeconds(item.currentTime()) / CMTimeGetSeconds(item.duration)                        
+                    }
                 }
             }
         } as? NSKeyValueObservation
@@ -360,7 +364,7 @@ class INVideoExportController: BFBaseViewController {
             sliderView?.valueChangeBloc = { [weak self] sender in
                 let cmtime = CMTime(value: CMTimeValue(Float64(sender.value) * Float64(self?.avplayer.currentItem?.asset.duration.seconds ?? 0) * 1000.0), timescale: CMTimeScale(1000.0))
                 BFLog(message: "cmtime == \(cmtime),\(cmtime.seconds)")
-                self?.avplayer.seek(to: cmtime)
+                self?.avplayer.seek(to: cmtime, toleranceBefore: CMTime(seconds: 1, preferredTimescale: 1000), toleranceAfter: CMTime(seconds: 1, preferredTimescale: 1000))
             }
             sliderView?.btnClickBloc = { [weak self] sender in
                 // 按钮点击
@@ -445,9 +449,13 @@ class INVideoExportController: BFBaseViewController {
         if !hasExportAll {
             exportNow()
         } else {
+            avplayer.pause()
             let item = AVPlayerItem(url: saveAllUlr)
             avplayer.replaceCurrentItem(with: item)
-            avplayer.play()
+            if let btn = sliderView?.viewWithTag(1) as? UIButton {
+                btn.isSelected = false
+                avplayer.play()
+            }
         }
     }
 
@@ -461,9 +469,13 @@ class INVideoExportController: BFBaseViewController {
         if !hasExportOnly {
             exportNow()
         } else {
+            avplayer.pause()
             let item = AVPlayerItem(url: saveOnlyUlr)
             avplayer.replaceCurrentItem(with: item)
-            avplayer.play()
+            if let btn = sliderView?.viewWithTag(1) as? UIButton {
+                btn.isSelected = false
+                avplayer.play()
+            }
         }
     }