Browse Source

视频旋转矫正

harry 3 years ago
parent
commit
25e4b617c3

+ 3 - 3
BFRecordScreenKit/Classes/BFRecordItemModel.swift

@@ -28,7 +28,7 @@ public class BFRecordItemModel: NSObject {
     var coverPath: String?
     var materialDuraion: CMTime = .zero
     var fetchCoverImgCallBack: ((UIImage) -> Void)?
-    var fetchAVUrlAssetCallBack: (() -> Void)?
+//    var fetchAVUrlAssetCallBack: (() -> Void)?
     var fetchPlayItemCallBack: ((BFRecordItemModel?) -> Void)?
     var dealedDurationRanges = [SplitRecordRange]() // 录音切割的时间区间,合成导出时计算
     public var voiceStickers = [PQVoiceModel]() //
@@ -54,7 +54,7 @@ public class BFRecordItemModel: NSObject {
         height = phasset.pixelHeight
         materialDuraion = CMTime.init(seconds: phasset.duration, preferredTimescale: 1000)
         fetchCoverImage(phasset)
-        fetchAVUrlAsset(phasset)
+//        fetchAVUrlAsset(phasset)
 
         if phasset.mediaType == .image {
             mediaType = .Image
@@ -112,7 +112,7 @@ public class BFRecordItemModel: NSObject {
             if let videoAsset = (asset as? AVURLAsset) {
                 wself.localPath = (videoAsset.url.absoluteString.removingPercentEncoding)?.replacingOccurrences(of: "file://", with: "")
                 wself.videoAsset = videoAsset
-                wself.fetchAVUrlAssetCallBack?()
+//                wself.fetchAVUrlAssetCallBack?()
             }
         }
     }

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

@@ -164,9 +164,11 @@ public class BFRecordScreenController: BFBaseViewController {
     public var itemModels = [BFRecordItemModel]()
     // add by ak 当前的显示的字幕位置
     var showSubtitleIndex = -1
-    //    var shouldPlayRecordIndex:Int = -1          // 当前应该播放的录音资源序号
+
     var currentPlayRecordIndex: Int = -1 // >= 0 :当前正在播放的录音资源序号; -3: 刚录音完,不需要播放录音; -1:初始化阶段
+
     public var displayLink: CADisplayLink? // 图片素材播放控制
+
     public var isRecording = false { // 是否正在录音
         didSet {
             withDrawBtn.isHidden = isRecording

+ 2 - 12
BFRecordScreenKit/Classes/RecordScreen/View/Cell/BFVideoCoverViewCell.swift

@@ -19,19 +19,9 @@ open class BFVideoCoverViewCell: BFImageCoverViewCell {
     
     public override func addData() {
         super.addData()
-        
+        BFLog(1, message: "cell video 旋转")
         //add by ak 如果是视频素材取到视频数据后在进行扶正操作。
-        if(recordItem?.mediaType == .Video){
-            
-            recordItem?.fetchAVUrlAssetCallBack = {[weak self] in
-            DispatchQueue.main.async {[weak self] in
-            guard let wself = self else { return }
-                    wself.rotationView()
-                }
-            }
-        }
-       
-   
+        rotationView()
     }
     
     public func rotationView(){

+ 14 - 18
BFRecordScreenKit/Classes/RecordScreen/View/ProgressView/BFVideoThumbProgressView.swift

@@ -24,12 +24,12 @@ class BFVideoThumbProgressView: BFProgressBaseView {
                     guard let wself = self else { return }
                     wself.dealWithVideoThumb()
                 }
-                recordItem?.fetchAVUrlAssetCallBack = {[weak self] in
-                    DispatchQueue.main.async {[weak self] in
-                        guard let wself = self else { return }
-                        wself.dealWithVideoThumb()
-                    }
-                }
+//                recordItem?.fetchAVUrlAssetCallBack = {[weak self] in
+//                    DispatchQueue.main.async {[weak self] in
+//                        guard let wself = self else { return }
+//                        wself.dealWithVideoThumb()
+//                    }
+//                }
             
             } else if recordItem?.mediaType == .Image {
                 DispatchQueue.main.async {[weak self] in
@@ -101,23 +101,19 @@ class BFVideoThumbProgressView: BFProgressBaseView {
     /// 处理视频缩略图
     func dealWithVideoThumb() {
         BFLog(message: "这里是取缩略图的 走了几次?")
-        if recordItem?.videoAsset == nil &&  recordItem?.playItem == nil {
+        if recordItem?.playItem == nil {
             BFLog(message: "this is runing 视频数据有问题!!!!type \(String(describing: recordItem?.mediaType))")
             addThumbImages(images: [UIImage]())
-//            DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {[weak self] in
-//                guard let wself = self else { return }
-//                BFLog(1, message: "重试获取缩略图")
-//                wself.dealWithVideoThumb()
-//            }
+            DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {[weak self] in
+                guard let wself = self else { return }
+                BFLog(1, message: "重试获取缩略图")
+                wself.dealWithVideoThumb()
+            }
             return
         }
         
-        var videoAsset = recordItem?.videoAsset
-        if videoAsset == nil {
-            recordItem?.videoAsset = recordItem?.playItem?.asset as? AVURLAsset
-            videoAsset = recordItem?.videoAsset
-        }
-        
+        let videoAsset = recordItem?.videoAsset
+
         addThumbImages(images: recordItem!.thumbImgs)
         if recordItem!.thumbImgs.count > 0 {
             // 代表已经获取过了,不用在重新去获得