Ver código fonte

fix 拖动时播放区间错误问题

huzhiqiang 3 anos atrás
pai
commit
a5b146d8e5

+ 7 - 5
BFFramework/Classes/PQGPUImage/akfilters/PQMovieInput.swift

@@ -695,13 +695,14 @@ extension PQMovieInput {
             if strongSelf.avPlayerTimeObserver != nil {
                 strongSelf.avPlayer!.removeTimeObserver(strongSelf.avPlayerTimeObserver as Any)
             }
-            strongSelf.indexRage += 1
+//            strongSelf.indexRage += 1
 
             if strongSelf.indexRage < loopCount && strongSelf.isPlay {
                 
-//                let range = ranges[strongSelf.indexRage]
-//                playerItem.forwardPlaybackEndTime = range!.end
-//                playerItem.reversePlaybackEndTime = range!.start
+                let range = ranges[strongSelf.indexRage]
+                playerItem.forwardPlaybackEndTime = range.end
+                playerItem.reversePlaybackEndTime = range.start
+                HHZPrint("curr: start ********************\(CMTimeGetSeconds(range.start)) - \(playerItem.reversePlaybackEndTime) - \(playerItem.forwardPlaybackEndTime)")
                 strongSelf.avPlayer!.seek(to: playerItem.reversePlaybackEndTime) { isSuccess in
                     playerItem.seek(to: playerItem.reversePlaybackEndTime) { isSuccess in
                         strongSelf.avPlayer!.play()
@@ -721,8 +722,9 @@ extension PQMovieInput {
     func avplayerMusic(){
         let playerItem = self.avPlayer?.currentItem
         let rangeee = CMTimeRangeMake(start: playeTimeRange.start, duration: self.musicPlayRanges?.first?.duration ?? CMTime(value: 1200, timescale: 40))
-        playerItem?.forwardPlaybackEndTime = rangeee.end
         playerItem?.reversePlaybackEndTime = rangeee.start
+        playerItem?.forwardPlaybackEndTime = self.musicPlayRanges?.first?.end ?? CMTime(value: 4000, timescale: 40)
+
         playerItem?.seek(to: playerItem!.reversePlaybackEndTime) { [weak self]_ in
             self?.avPlayer?.play()
         }