|
@@ -60,7 +60,8 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
|
|
|
var isEndPlay = false {
|
|
|
didSet {
|
|
|
- recordBtn.isHidden = isEndPlay
|
|
|
+
|
|
|
+ recordBtn.isHidden = (itemModels[currItemModelIndex].mediaType == .IMAGE && isEndPlay) ? false : isEndPlay
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -68,7 +69,6 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
didSet {
|
|
|
playBtn.isSelected = isNormalPlaying
|
|
|
withDrawBtn.isHidden = isNormalPlaying
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -498,7 +498,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
|
|
|
self?.resetCurrentProgress()
|
|
|
self?.deleteRecordBtn.isHidden = true
|
|
|
- self?.recordBtn.isHidden = self?.isEndPlay ?? false
|
|
|
+ self?.recordBtn.isHidden = (self?.itemModels[self?.currItemModelIndex ?? 0].mediaType == .IMAGE && (self?.isEndPlay ?? false)) ? false : (self?.isEndPlay ?? false)
|
|
|
}
|
|
|
sself.currentPlayRecordIndex = -3
|
|
|
|
|
@@ -869,11 +869,10 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
if isDragingProgressSlder {
|
|
|
return
|
|
|
}
|
|
|
+ isRecording = true
|
|
|
progressThumV.progressView.isUserInteractionEnabled = false
|
|
|
collectionView.isScrollEnabled = false
|
|
|
pause()
|
|
|
- isRecording = true
|
|
|
-
|
|
|
if recorderManager == nil {
|
|
|
BFLog(message: "录音机初始化错误!!!")
|
|
|
return
|
|
@@ -909,9 +908,9 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
}
|
|
|
|
|
|
@objc func endRecord() {
|
|
|
+ pause()
|
|
|
|
|
|
isRecording = false
|
|
|
- pause()
|
|
|
progressThumV.progressView.isUserInteractionEnabled = true
|
|
|
collectionView.isScrollEnabled = true
|
|
|
|
|
@@ -1302,7 +1301,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
subtitleBtn.isHidden = false
|
|
|
soundSettingBtn.isHidden = false
|
|
|
withDrawBtn.isHidden = false
|
|
|
- recordBtn.isHidden = isEndPlay
|
|
|
+ recordBtn.isHidden = isRecording ? false : isEndPlay
|
|
|
|
|
|
assetPlayer?.pause()
|
|
|
recordPlayer?.pause()
|
|
@@ -1402,7 +1401,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
|
|
|
self?.isNormalPlaying = false
|
|
|
self?.isEndPlay = true
|
|
|
-
|
|
|
+
|
|
|
if self?.isRecording ?? false {
|
|
|
self?.endRecord()
|
|
|
cShowHUB(superView: nil, msg: "此视频已录制到头了哦")
|
|
@@ -1594,13 +1593,13 @@ extension BFRecordScreenController: UICollectionViewDelegate, UICollectionViewDa
|
|
|
public func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
|
|
|
endScrollItem(scrollView)
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
|
|
|
if !decelerate {
|
|
|
endScrollItem(scrollView)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
func endScrollItem(_ scrollView: UIScrollView) {
|
|
|
|
|
|
BFLog(1, message: "滚动结束")
|
|
@@ -1672,16 +1671,18 @@ public extension BFRecordScreenController {
|
|
|
recordStartPlayTime = currentAssetProgress
|
|
|
currenStartPlayTime = CMTime.zero
|
|
|
playRecord(at: currentAssetProgress, periodicTimeObserver: { [weak self] currentT, currentItem in
|
|
|
- BFLog(1, message: "播放第段进度:\(currentT),\(currentItem)")
|
|
|
+ BFLog(1, message: "播放图片素材进度:\(currentT),\(currentItem)")
|
|
|
self?.imageRecordProgress(progress: CMTimeGetSeconds(currentT))
|
|
|
}, didPlayToEndTime: { [weak self] recordInfo, currentItem in
|
|
|
- BFLog(message: "播放第段结束:\(String(describing: recordInfo?.1)),\(String(describing: currentItem))")
|
|
|
+ BFLog(message: "播放图片素材录音结束:\(String(describing: recordInfo?.1)),\(String(describing: currentItem))")
|
|
|
if (self?.itemModels[self?.currItemModelIndex ?? 0].voiceStickers.count ?? 0) <= ((recordInfo?.0 ?? 0) + 1) || (recordInfo?.1.endTime ?? 0) >= (self?.itemModels[self?.currItemModelIndex ?? 0].voiceStickers.last?.endTime ?? 0) {
|
|
|
self?.isEndPlay = true
|
|
|
self?.pause()
|
|
|
|
|
|
self?.currentAssetProgress = CMTime(seconds: self?.itemModels[self?.currItemModelIndex ?? 0].materialDuraion ?? 0, preferredTimescale: 1000)
|
|
|
self?.resetCurrentProgress()
|
|
|
+
|
|
|
+ self?.recordBtn.isHidden = false
|
|
|
|
|
|
|
|
|
|