ソースを参照

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

* 'master' of https://git.yishihui.com/iOS/BFFramework:
  只有在当前界面时才接收进入前后台通知
  1,导出模式时 使用原有音频处理方式  2 , self.avPlayer 设置非解包
  useAssestDurationTemp 边界判断
huzhiqiang 3 年 前
コミット
92e71008a9

+ 17 - 8
BFFramework/Classes/PQGPUImage/akfilters/PQMovieInput.swift

@@ -320,13 +320,18 @@ public class PQMovieInput: ImageSource {
         mIsExport = isExport
         do {
             try NSObject.catchException { [self] in
-//                guard self.assetReader.startReading() else {
-//                    FilterLog(message: "ERROR: Unable to start reading: \(String(describing: self.assetReader.error))")
-//                    return
-//                }
-                if !mAutoPause {
-                    avplayerMusic()
+                if(mIsExport){
+                    guard self.assetReader.startReading() else {
+                        FilterLog(message: "ERROR: Unable to start reading: \(String(describing: self.assetReader.error))")
+                        return
+                    }
+                }else{
+                    if !mAutoPause {
+                        avplayerMusic()
+                    }
                 }
+             
+              
             }
         } catch {
             FilterLog(message: "ERROR: Unable to start reading: \(error)")
@@ -484,7 +489,11 @@ public class PQMovieInput: ImageSource {
 
     func readNextAudioSample(with assetReader: AVAssetReader, from audioTrackOutput: AVAssetReaderOutput) {
         
-        return
+        if(!mIsExport){
+            FilterLog(message: "不是导出模式")
+            return
+        }
+       
         if !isPlay {
             FilterLog(message: "自动停到首帧的不处理音频")
             return
@@ -727,7 +736,7 @@ extension PQMovieInput {
     }
     
     func avPlayerPlayComplete(){
-        self.avPlayer!.pause()
+        self.avPlayer?.pause()
         self.indexRage = 0
         let playerItem = self.avPlayer?.currentItem
         playerItem?.seek(to: playerItem?.reversePlaybackEndTime ?? CMTime(value: 0, timescale: 40))

+ 12 - 3
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

@@ -458,12 +458,17 @@ class PQStuckPointEditerController: PQBaseViewController {
 
     @objc func willEnterForeground() {
         BFLog(message: "进入到前台")
-        settingPlayerView()
+        if(self.navigationController?.topViewController == self){
+            settingPlayerView()
+        }
+      
     }
     @objc func enterBackground() {
         BFLog(message: "进入到后台")
         // 取消导出
-        playerView.pause()
+        if(self.navigationController?.topViewController == self){
+            playerView.pause()
+        }
     }
 
     override func backBtnClick() {
@@ -1437,8 +1442,12 @@ extension PQStuckPointEditerController {
                                     j += 1
                                 }
                                 useAssestDurationTemp += sub * useSpeed
+                                if(useAssestDurationTemp > assetDuration){
+                                    useAssestDurationTemp -= sub * useSpeed
+                                    break
+                                }
                                 pointCount += 1
-                                FilterLog(message: "wwwwwwwaaaaaaafin;\((finallyStuckPoints.last ?? 0.0) - (finallyStuckPoints.first ?? 0.0)), tmp:\(useAssestDurationTemp)")
+                                FilterLog(message: "finallyStuckPoints last ;\((finallyStuckPoints.last ?? 0.0) - (finallyStuckPoints.first ?? 0.0)), tmp:\(useAssestDurationTemp)")
     
                             }
                             // 2拼接要使用的卡点信息