Browse Source

录制视频模式播放中如果有发音人使用 变时数据

jsonwang 3 years ago
parent
commit
4bbba79c36

+ 13 - 1
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenCameraManager.swift

@@ -24,6 +24,7 @@ import BFUIKit
 import BFMediaKit
 import CoreMedia
 import UIKit
+import SwiftUI
 
 
 let vpath = recordVideosDirectory + "camera_writer.mov"
@@ -428,7 +429,18 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
     
     func playRecordVoice(needPlay:Bool = true){
         // 播放音频
-        if let mod = recordItem?.voiceStickers.first(where: { m in
+        var useVoiceStickers = [PQVoiceModel]()
+        if((recordItem?.voiceChangeStickers.count ?? 0) > 0){
+            useVoiceStickers = recordItem?.voiceChangeStickers ?? [PQVoiceModel]()
+        }else{
+            useVoiceStickers = recordItem?.voiceStickers ?? [PQVoiceModel]()
+        }
+        
+        for model in useVoiceStickers {
+            BFLog(message: " 时间范围:\(model.startCMTime.seconds) 到 \(model.endCMTime.seconds) \(currentAssetProgress.seconds)")
+        }
+       
+        if let mod = useVoiceStickers.first(where: { m in
             CMTimeCompare(m.startCMTime, currentAssetProgress + CMTime(seconds: 0.033, preferredTimescale: 1000)) <= 0 && CMTimeCompare(m.endCMTime, (currentAssetProgress + CMTime(seconds: 0.033, preferredTimescale: 1000))) > 0
         }){
             recordPlayer?.replaceCurrentItem(with: AVPlayerItem(url: URL(fileURLWithPath: mod.wavFilePath)))