Pārlūkot izejas kodu

Merge branch 'master' of https://git.yishihui.com/iOS/Introduce

# Conflicts:
#	Introduce/Record/INRecorderController.swift
合并代码
jsonwang 3 gadi atpakaļ
vecāks
revīzija
0c632456b3

+ 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")

+ 4 - 1
Introduce/Record/INRecorderController.swift

@@ -94,7 +94,7 @@ class INRecorderController: BFBaseViewController {
     lazy var cancleBtn:UIButton = {
         let cancleBtn = UIButton()
         cancleBtn.backgroundColor = UIColor.clear
-        cancleBtn.setTitle("取消", for: .normal)
+        cancleBtn.setTitle("不同意", for: .normal)
         cancleBtn.setTitleColor( UIColor(red: 0.262, green: 0.262, blue: 0.262, alpha: 1), for: .normal)
         cancleBtn.titleLabel?.font = UIFont.systemFont(ofSize: 14)
         cancleBtn.addTarget(self, action: #selector(cancleAction), for: .touchUpInside)
@@ -191,6 +191,9 @@ class INRecorderController: BFBaseViewController {
     
     @objc func cancleAction() {
         welcomeBackView.isHidden = true
+ 
+        exit(-1)
+
     }
 
     override func didReceiveMemoryWarning() {

+ 19 - 7
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
@@ -279,7 +283,7 @@ class INVideoExportController: BFBaseViewController {
 
 //        export.startExprot()
         // 默认保留录音合成
-        saveOnlyBtn.isSelected = true
+        saveAllBtn.isSelected = true
 
         DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) { [weak self] in
             self?.exportNow()
@@ -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()
+            }
         }
     }