harry пре 3 година
родитељ
комит
711e6822f9

+ 7 - 7
BFRecordScreenKit/Classes/BFRecordExport.swift

@@ -48,13 +48,14 @@ public class BFRecordExport {
             // 切割视频素材
             for (_, itemModel) in itemModels.enumerated() {
                 itemModel.videoStickers.removeAll()
-
+//                let dur = itemModel.materialDuraion
                 if synthesisAll {
                     // 保留全部
-                    //                        let bgMovieInfo = splitBaseMaterial(timelineIn: totalDur, model_in: 0, duration: dur)
-                    //                        bgMovieInfo.volumeGain = 0
-                    //                        itemModel.videoStickers.append(bgMovieInfo)
-                    //                        totalDur += dur
+//                    let dur = itemModel.materialDuraion
+//                    let bgMovieInfo = splitBaseMaterial(timelineIn: totalDur, model_in: 0, duration: dur)
+//                    bgMovieInfo.volumeGain = 0
+//                    itemModel.videoStickers.append(bgMovieInfo)
+//                    totalDur += dur
                     var subDur = 0.0
                     let drangs = itemModel.dealedDurationRanges
                     for srange in drangs {
@@ -65,7 +66,6 @@ public class BFRecordExport {
                         subDur += range.duration.seconds
                     }
                     totalDur += subDur
-                    //                        assert(totalDur == dur)
                 } else {
                     var subDur = 0.0
                     var drangs = itemModel.dealedDurationRanges.filter { srange in
@@ -216,7 +216,7 @@ public class BFRecordExport {
                 }
             }
 
-            BFLog(message: "导出设置的码率为:\(orgeBitRate)")
+            BFLog(1, message: "导出设置的码率为:\(orgeBitRate)")
             let tempBeginExport = Date().timeIntervalSince1970
             if exporter!.prepare(videoSize: outputSize, videoAverageBitRate: orgeBitRate) {
                 exporter!.start(playeTimeRange: CMTimeRange(start: CMTime.zero, end: synthesisAll ? CMTime(seconds: totalDuration, preferredTimescale: 100) : composition.duration))

+ 13 - 13
BFRecordScreenKit/Classes/BFRecordItemModel.swift

@@ -44,9 +44,11 @@ public class BFRecordItemModel: NSObject {
             mediaType = .IMAGE
         } else if phasset.mediaType == .video {
             mediaType = .VIDEO
+            fetchPlayItem(phasset)
+
         }
+
         fetchCoverImage(phasset)
-        fetchPlayItem(phasset)
         fetchAVUrlAsset(phasset)
     }
 
@@ -71,18 +73,16 @@ public class BFRecordItemModel: NSObject {
         let options = PHVideoRequestOptions()
         options.isNetworkAccessAllowed = true
         options.deliveryMode = .automatic
-        if phasset.mediaType == .image {
-        } else if phasset.mediaType == .video {
-            PHImageManager.default().requestPlayerItem(forVideo: phasset, options: options, resultHandler: { [weak self] playerItem, _ in
-
-                guard let item = playerItem else {
-                    cShowHUB(superView: nil, msg: "视频获取失败:\(self?.index ?? 0)")
-                    return
-                }
-                self?.playItem = item
-                self?.fetchPlayItem?(item)
-            })
-        }
+
+        PHImageManager.default().requestPlayerItem(forVideo: phasset, options: options, resultHandler: { [weak self] playerItem, _ in
+            
+            guard let item = playerItem else {
+                cShowHUB(superView: nil, msg: "视频获取失败:\(self?.index ?? 0)")
+                return
+            }
+            self?.playItem = item
+            self?.fetchPlayItem?(item)
+        })
     }
 
     func fetchAVUrlAsset(_ phasset: PHAsset) {

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

@@ -1015,6 +1015,16 @@ public class BFRecordScreenController: BFBaseViewController {
     func play() {
         BFLog(1, message: "开始播放 \(currentAssetProgress.seconds)")
         isNormalPlaying = true
+        if itemModels[currItemModelIndex].mediaType == .IMAGE {
+            // 图片
+            
+            
+        }else if itemModels[currItemModelIndex].mediaType == .VIDEO{
+            // 视频
+            
+            
+        }
+        
 //        assetPlayer?.volume = 0.2
         movie?.startProcessing()
         if isEndPlay {
@@ -1093,6 +1103,9 @@ public class BFRecordScreenController: BFBaseViewController {
     }
 
     func setAudioPlay(item: AVPlayerItem?) {
+        guard let item = item else{
+            return
+        }
         if let playItem = assetPlayer?.currentItem {
             NotificationCenter.default.removeObserver(self, name: .AVPlayerItemDidPlayToEndTime, object: playItem)
             assetPlayer?.replaceCurrentItem(with: item)