jsonwang пре 3 година
родитељ
комит
5b245ae1f3
1 измењених фајлова са 13 додато и 3 уклоњено
  1. 13 3
      BFFramework/Classes/PQGPUImage/akfilters/PQMovieInput.swift

+ 13 - 3
BFFramework/Classes/PQGPUImage/akfilters/PQMovieInput.swift

@@ -408,7 +408,7 @@ public class PQMovieInput: ImageSource {
 
                     let readerAudioTrackOutput = AVAssetReaderTrackOutput(track: audioTrack, outputSettings: audioSettings)
                     readerAudioTrackOutput.alwaysCopiesSampleData = false
-                    // 不按照顺序读取
+                    // 不按照顺序读取 是否支持重新设置数据的读取时间范围,即能否修改 reader 的 timeRange 属性
                     // readerVideoTrackOutput.supportsRandomAccess = true
                     assetReader.add(readerAudioTrackOutput)
                     
@@ -423,7 +423,7 @@ public class PQMovieInput: ImageSource {
             }
 
             assetReader.timeRange = playeTimeRange
-            FilterLog(message: "播放器开始时间\(CMTimeGetSeconds(assetReader.timeRange.start)) 结束时间\(CMTimeGetSeconds(assetReader.timeRange.end))")
+            FilterLog(message: "初始化播放器开始时间\(CMTimeGetSeconds(assetReader.timeRange.start)) 结束时间\(CMTimeGetSeconds(assetReader.timeRange.end)) 音乐的总时长\(asset.duration.seconds)")
        
 
             actualStartTime = nil
@@ -436,6 +436,9 @@ public class PQMovieInput: ImageSource {
     }
 
     func readNextVideoFrame(with _: AVAssetReader) {
+        
+        FilterLog(message: "视频解码状态\(assetReader.status.rawValue)")
+     
         autoreleasepool {
             synchronizedEncodingDebugPrint("Process frame input")
             
@@ -466,7 +469,12 @@ public class PQMovieInput: ImageSource {
          case failed = 3
          case cancelled = 4
          */
-        FilterLog(message: "解码状态\(assetReader.status.rawValue)")
+        FilterLog(message: "音频解码状态\(assetReader.status.rawValue)")
+        if(assetReader.status == .completed){
+            FilterLog(message: "提前结束的了!!!!\(assetReader.error)")
+ 
+        }
+        
         autoreleasepool {
             guard let sampleBuffer = audioTrackOutput.copyNextSampleBuffer() else {
                 if let movieOutput = synchronizedMovieOutput {
@@ -489,6 +497,8 @@ public class PQMovieInput: ImageSource {
             // https://www.itdaan.com/blog/2013/11/28/deb10f90970a5ea33f185c9faf2a0ab3.html
             if !mFreeBuffer {
                 audioEncodingTarget?.processAudioBuffer(sampleBuffer)
+            }else{
+                BFLog(message: "不播放音频!!!!")
             }
         }
     }