|
@@ -72,8 +72,8 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
|
|
|
// 拖动的跳跃,不要修改时间点
|
|
|
if (wself.dele?.isNormalPlaying ?? false){
|
|
|
wself.currentAssetProgress = CMTime(seconds: (currTime + wself.currPlayTime).seconds, preferredTimescale: 1000)
|
|
|
- BFLog(1, message: "拖动 currTime: \(currTime.seconds)")
|
|
|
}
|
|
|
+ BFLog(1, message: "拖动 currTime: \(currTime.seconds)")
|
|
|
DispatchQueue.main.async {[weak self] in
|
|
|
guard let wself = self else { return }
|
|
|
wself.dele?.updateSubtitle(time: wself.currentAssetProgress)
|
|
@@ -342,7 +342,8 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
|
|
|
|
|
|
if avplayer.currentItem != nil {
|
|
|
avplayer.play()
|
|
|
- recordPlayer?.play()
|
|
|
+// recordPlayer?.play()
|
|
|
+ playRecordVoice()
|
|
|
}else{
|
|
|
prepareToPlayNext()
|
|
|
}
|
|
@@ -350,15 +351,15 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
|
|
|
|
|
|
}
|
|
|
|
|
|
- func playRecordVoice(_ tt:CMTime, needPlay:Bool = true){
|
|
|
+ func playRecordVoice(needPlay:Bool = true){
|
|
|
// 播放音频
|
|
|
if let mod = recordItem?.voiceStickers.first(where: { m in
|
|
|
CMTimeCompare(m.startCMTime, currentAssetProgress + CMTime(seconds: 0.033, preferredTimescale: 1000)) <= 0 && CMTimeCompare(m.endCMTime, currentAssetProgress) > 0
|
|
|
}){
|
|
|
recordPlayer?.replaceCurrentItem(with: AVPlayerItem(url: URL(fileURLWithPath: mod.wavFilePath)))
|
|
|
-
|
|
|
+ let tt = currentAssetProgress - mod.startCMTime
|
|
|
BFLog(1, message: "record - tt: \(tt.seconds), curr:\(currentAssetProgress.seconds)")
|
|
|
- recordPlayer?.currentItem?.seek(to: tt, toleranceBefore: CMTime(seconds: 1, preferredTimescale: 1000), toleranceAfter: CMTime(seconds: 1, preferredTimescale: 1000)) { [weak recordPlayer] isFinished in
|
|
|
+ recordPlayer?.currentItem?.seek(to: tt, toleranceBefore: CMTime(value: 1, timescale: 1_000_000), toleranceAfter: CMTime(value: 1, timescale: 1_000_000)) { [weak recordPlayer] _ in
|
|
|
if needPlay{
|
|
|
recordPlayer?.play()
|
|
|
}
|
|
@@ -376,13 +377,13 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
|
|
|
locationTo(time: mod.timelineCMIn)
|
|
|
avplayerReplaceItem(newItem: AVPlayerItem(url: URL(fileURLWithPath: mod.locationPath)))
|
|
|
|
|
|
- avplayer.currentItem?.seek(to: tt, toleranceBefore: CMTime(seconds: 1, preferredTimescale: 1000), toleranceAfter: CMTime(seconds: 1, preferredTimescale: 1000), completionHandler: {[weak avplayer] _ in
|
|
|
+ avplayer.currentItem?.seek(to: tt, toleranceBefore: CMTime(value: 1, timescale: 1_000_000), toleranceAfter: CMTime(value: 1, timescale: 1_000_000), completionHandler: {[weak avplayer] _ in
|
|
|
if needPlay {
|
|
|
avplayer?.play()
|
|
|
}
|
|
|
})
|
|
|
|
|
|
- playRecordVoice(.zero, needPlay: needPlay)
|
|
|
+ playRecordVoice(needPlay: needPlay)
|
|
|
}
|
|
|
}
|
|
|
|