|
@@ -42,7 +42,11 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
recordBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#28BE67", alpha: isRecording ? 0.6 : 1)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ var isEndPlay = false {
|
|
|
+ didSet{
|
|
|
+ recordBtn.isHidden = isEndPlay
|
|
|
+ }
|
|
|
+ }
|
|
|
var isNormalPlaying = false { // 是否正在播放
|
|
|
didSet{
|
|
|
playBtn.isSelected = isNormalPlaying
|
|
@@ -215,6 +219,8 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
sself.pause()
|
|
|
}
|
|
|
sself.isDragingProgressSlder = true
|
|
|
+ BFLog(1, message: "drag 进行中")
|
|
|
+
|
|
|
sself.changeProgress(progress: process)
|
|
|
}
|
|
|
}
|
|
@@ -366,9 +372,9 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
}
|
|
|
|
|
|
@objc func startRecord(){
|
|
|
- BFLog(1, message: "start \(UIControl.Event.touchDown)")
|
|
|
+ let point = progressThumV.progressView.contentOffset
|
|
|
+ progressThumV.progressView .setContentOffset(point, animated: false)
|
|
|
isRecording = true
|
|
|
-
|
|
|
pause()
|
|
|
|
|
|
events.append(WithDrawModel(type: 2, timestamp: self.currentAssetProgress.seconds))
|
|
@@ -465,7 +471,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
isDragingProgressSlder = false
|
|
|
currentPlayRecordIndex = -1
|
|
|
hadPrepareToPlayRecord = false
|
|
|
-
|
|
|
+ BFLog(1, message: isDragingProgressSlder ? "drag false" : "drag tr")
|
|
|
searchStopAtRecordRange()
|
|
|
}
|
|
|
|
|
@@ -474,6 +480,8 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
let elems = itemModels[currItemModelIndex].voiceStickers.enumerated().filter({ elem in
|
|
|
elem.1.startTime <= self.currentAssetProgress.seconds && elem.1.endTime > self.currentAssetProgress.seconds
|
|
|
})
|
|
|
+ isEndPlay = false
|
|
|
+
|
|
|
if elems.count > 0{
|
|
|
// TODO: 停在了录音区间,显示删除按钮
|
|
|
isStopAtRecordRange = elems.first!.0
|
|
@@ -617,6 +625,13 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
isNormalPlaying = true
|
|
|
assetPlayer?.volume = 0.2
|
|
|
movie?.startProcessing()
|
|
|
+ if isEndPlay {
|
|
|
+ isEndPlay = false
|
|
|
+ assetPlayer?.seek(to: CMTime.zero)
|
|
|
+ progressThumV.progress = 0
|
|
|
+ currentPlayRecordIndex = -1
|
|
|
+ recordBtn.isHidden = false
|
|
|
+ }
|
|
|
|
|
|
self.assetPlayer?.play()
|
|
|
}
|
|
@@ -744,13 +759,14 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: assetPlayer?.currentItem, queue: .main) { [weak self] notify in
|
|
|
BFLog(1, message: "AVPlayerItemDidPlayToEndTime = \(notify)")
|
|
|
self?.isNormalPlaying = false
|
|
|
- self?.assetPlayer?.seek(to: CMTime.zero)
|
|
|
- self?.progressThumV.progress = 0
|
|
|
-
|
|
|
- self?.currentPlayRecordIndex = -1
|
|
|
+// self?.assetPlayer?.seek(to: CMTime.zero)
|
|
|
+// self?.progressThumV.progress = 0
|
|
|
+ self?.isEndPlay = true
|
|
|
+// self?.currentPlayRecordIndex = -1
|
|
|
if self?.isRecording ?? false {
|
|
|
self?.endRecord()
|
|
|
}
|
|
|
+ self?.recordBtn.isHidden = true
|
|
|
}
|
|
|
}
|
|
|
|