Sfoglia il codice sorgente

Merge branch 'dev' of https://git.yishihui.com/iOS/BFRecordScreenKit into dev

harry 3 anni fa
parent
commit
d5663e3aac

+ 28 - 3
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenCameraManager.swift

@@ -79,6 +79,8 @@ class BFRecordScreenCameraManager: BFRecordScreenBaseManager {
     var groupCount = 0
 
     var avplayerTimeObserver: NSKeyValueObservation?
+    
+    var audioPlayerIsPlaying:Bool = false
 
     lazy var avplayer: AVPlayer = {
         let p = AVPlayer(playerItem: nil)
@@ -465,7 +467,7 @@ class BFRecordScreenCameraManager: BFRecordScreenBaseManager {
             BFLog(2, message: "is playering 本次查找无效,有播放任务")
             return
         }
-        BFLog(message: "开始查找!!!!当前进度:\(currentAssetProgress.seconds)")
+        BFLog(2,message: "开始查找!!!!当前进度:\(currentAssetProgress.seconds)")
 
         // 播放音频
         var useVoiceStickers = [PQVoiceModel]()
@@ -484,21 +486,24 @@ class BFRecordScreenCameraManager: BFRecordScreenBaseManager {
             // 当前播放的文件
             
             let cureentPalyURlString = BFAudioPlayer.shared.currentAudioPathURL?.absoluteString ?? ""
-            if cureentPalyURlString.replacingOccurrences(of: "file://", with: "") == mod.wavFilePath{
+            if cureentPalyURlString.replacingOccurrences(of: "file://", with: "") == mod.wavFilePath && (BFAudioPlayer.shared.player?.isPlaying ?? false){
                 BFLog(2, message: "命中的和播放的文件路径一样? wavFilePath:\(mod.wavFilePath ?? "")")
                 return
+                
             }
-            
+            BFAudioPlayer.shared.delegate = self
             BFAudioPlayer.shared.configPlayer(audioPathURL: URL(fileURLWithPath: mod.wavFilePath))
             
             let tt = currentAssetProgress - mod.startCMTime
             BFLog(1, message: "record - tt: \(tt.seconds), curr:\(currentAssetProgress.seconds) \(needPlay) mod.wavFilePath\(mod.wavFilePath ?? "")")
             if CMTimeCompare(tt, .zero) == 0 {
                 if needPlay {
+                    audioPlayerIsPlaying = true
                     BFAudioPlayer.shared.playOrPause()
                 }
                 return
             }
+            audioPlayerIsPlaying = true
             BFAudioPlayer.shared.setPlayingTime(tt.seconds)
             BFAudioPlayer.shared.playOrPause()
  
@@ -790,6 +795,26 @@ class BFRecordScreenCameraManager: BFRecordScreenBaseManager {
     }
 }
 
+extension BFRecordScreenCameraManager: BFAudioPlayerDelegate{
+    
+    // 播放完成
+    func audioPlayerDidFinish(){
+        BFLog(message: "audioPlayerDidFinish")
+        audioPlayerIsPlaying = false
+    }
+    
+    // 播放开始
+    func audioPlayerStart(){
+        
+    }
+    // 播放进度
+    func playProgress(currentTime: TimeInterval, progress: Double){
+        
+        BFLog(message: "currentTime is \(currentTime)")
+    }
+    
+}
+
 extension BFRecordScreenCameraManager: GPUImageVideoCameraDelegate {
     func willOutputSampleBuffer(_ sampleBuffer: CMSampleBuffer!) {
         if !recording || BFRecordScreenCameraManager.initOpenCamera {