|
@@ -142,7 +142,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
}()
|
|
}()
|
|
|
|
|
|
lazy var playBtn: UIButton = {
|
|
lazy var playBtn: UIButton = {
|
|
- let btn = UIButton(frame: CGRect.init(x: 0, y: 0, width: 150, height: 156))
|
|
|
|
|
|
+ let btn = UIButton(frame: CGRect(x: 0, y: 0, width: 150, height: 156))
|
|
btn.setImage(imageInRecordScreenKit(by: "preview_play"), for: .normal)
|
|
btn.setImage(imageInRecordScreenKit(by: "preview_play"), for: .normal)
|
|
let vv = UIView(frame: CGRect(x: 0, y: 0, width: 1, height: 1))
|
|
let vv = UIView(frame: CGRect(x: 0, y: 0, width: 1, height: 1))
|
|
btn.setImage(vv.graphicsGetImage(), for: .selected)
|
|
btn.setImage(vv.graphicsGetImage(), for: .selected)
|
|
@@ -513,7 +513,8 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
if deletedVoices.count == 0 {
|
|
if deletedVoices.count == 0 {
|
|
self?.indirectionView?.resetCurrentItem(start: model.startTime, end: model.endTime)
|
|
self?.indirectionView?.resetCurrentItem(start: model.startTime, end: model.endTime)
|
|
} else {
|
|
} else {
|
|
- self?.indirectionView?.resetAllSubViews(items: recordItem.voiceStickers, percenWidth: recordItem.mediaType == .IMAGE ? (self?.progressThumV.thumbImageWidth ?? 0) / 2.0 : 0, totalDuration: recordItem.materialDuraion)
|
|
|
|
|
|
+ /// 重绘录音进度视图
|
|
|
|
+ self?.resetAllIndirectionView()
|
|
}
|
|
}
|
|
// 矫正进度
|
|
// 矫正进度
|
|
self?.resetCurrentProgress()
|
|
self?.resetCurrentProgress()
|
|
@@ -836,7 +837,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
}
|
|
}
|
|
// 从原数组中删除
|
|
// 从原数组中删除
|
|
let arr = itemModels[currItemModelIndex].titleStickers.filter { model in
|
|
let arr = itemModels[currItemModelIndex].titleStickers.filter { model in
|
|
- return !deleteTemp.contains { tuple in
|
|
|
|
|
|
+ !deleteTemp.contains { tuple in
|
|
tuple.0.audioFilePath == model.audioFilePath
|
|
tuple.0.audioFilePath == model.audioFilePath
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -865,23 +866,19 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
for (index, item) in itemModels[currItemModelIndex].voiceStickers.enumerated() {
|
|
for (index, item) in itemModels[currItemModelIndex].voiceStickers.enumerated() {
|
|
if index >= isStopAtRecordRange {
|
|
if index >= isStopAtRecordRange {
|
|
// 注:开始时间减去duration or 等一前一段录音的结束时间
|
|
// 注:开始时间减去duration or 等一前一段录音的结束时间
|
|
- // item.startTime = item.startTime - currDuration
|
|
|
|
-// item.startTime = itemModels[currItemModelIndex].voiceStickers[index - 1].endTime
|
|
|
|
-// item.endTime = item.startTime + (Double(item.duration ?? "0") ?? 0)
|
|
|
|
item.startTime -= currDuration
|
|
item.startTime -= currDuration
|
|
item.endTime -= currDuration
|
|
item.endTime -= currDuration
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- // 重绘录音进度视图
|
|
|
|
- indirectionView?.resetAllSubViews(items: itemModels[currItemModelIndex].voiceStickers, percenWidth: progressThumV.thumbImageWidth / 2.0, totalDuration: itemModels[currItemModelIndex].materialDuraion)
|
|
|
|
|
|
+ /// 重绘录音进度视图
|
|
|
|
+ resetAllIndirectionView()
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
var event = WithDrawModel(type: 3, timestamp: currentAssetProgress.seconds, deletedVoices: [(model, isStopAtRecordRange)])
|
|
var event = WithDrawModel(type: 3, timestamp: currentAssetProgress.seconds, deletedVoices: [(model, isStopAtRecordRange)])
|
|
event.deletedTittles = deleteTitles(voiceModel: model)
|
|
event.deletedTittles = deleteTitles(voiceModel: model)
|
|
events.append(event)
|
|
events.append(event)
|
|
|
|
|
|
searchStopAtRecordRange()
|
|
searchStopAtRecordRange()
|
|
-
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1045,10 +1042,8 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
}
|
|
}
|
|
searchStopAtRecordRange()
|
|
searchStopAtRecordRange()
|
|
let itemModel = itemModels[currItemModelIndex]
|
|
let itemModel = itemModels[currItemModelIndex]
|
|
-
|
|
|
|
- // 重置进度条
|
|
|
|
- indirectionView?.resetAllSubViews(items: itemModels[currItemModelIndex].voiceStickers, percenWidth: itemModels[currItemModelIndex].mediaType == .IMAGE ? progressThumV.thumbImageWidth / 2.0 : 0, totalDuration: itemModels[currItemModelIndex].materialDuraion)
|
|
|
|
-
|
|
|
|
|
|
+ /// 重绘录音进度视图
|
|
|
|
+ resetAllIndirectionView()
|
|
// 如果是图片需重置播放按钮
|
|
// 如果是图片需重置播放按钮
|
|
if itemModel.mediaType == .IMAGE {
|
|
if itemModel.mediaType == .IMAGE {
|
|
playBtn.isSelected = itemModels[currItemModelIndex].voiceStickers.count <= 0
|
|
playBtn.isSelected = itemModels[currItemModelIndex].voiceStickers.count <= 0
|
|
@@ -1735,13 +1730,8 @@ extension BFRecordScreenController: UICollectionViewDelegate, UICollectionViewDa
|
|
// 重绘录音区域
|
|
// 重绘录音区域
|
|
progressThumV.recordItem = recordItem
|
|
progressThumV.recordItem = recordItem
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { [weak self] in
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { [weak self] in
|
|
- var percenWidth: CGFloat = 0
|
|
|
|
- if recordItem.mediaType == .IMAGE {
|
|
|
|
- percenWidth = (self?.progressThumV.thumbImageWidth ?? 0) / 2.0
|
|
|
|
- } else {
|
|
|
|
- percenWidth = (self?.progressThumV.progessIndicateBackV.frame.width ?? 0) / CGFloat(recordItem.materialDuraion)
|
|
|
|
- }
|
|
|
|
- self?.indirectionView?.resetAllSubViews(items: recordItem.voiceStickers, percenWidth: percenWidth, totalDuration: recordItem.materialDuraion)
|
|
|
|
|
|
+ /// 重绘录音进度视图
|
|
|
|
+ self?.resetAllIndirectionView()
|
|
}
|
|
}
|
|
// 更新缩略图
|
|
// 更新缩略图
|
|
progressThumV.isHidden = false
|
|
progressThumV.isHidden = false
|
|
@@ -1846,4 +1836,16 @@ public extension BFRecordScreenController {
|
|
self?.updateSubtitle(time: self?.currentAssetProgress ?? CMTime.zero)
|
|
self?.updateSubtitle(time: self?.currentAssetProgress ?? CMTime.zero)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /// 重绘录音进度视图
|
|
|
|
+ func resetAllIndirectionView() {
|
|
|
|
+ // 重绘录音进度视图
|
|
|
|
+ var percenWidth: CGFloat = 0
|
|
|
|
+ if itemModels[currItemModelIndex].mediaType == .IMAGE {
|
|
|
|
+ percenWidth = progressThumV.thumbImageWidth / 2.0
|
|
|
|
+ } else {
|
|
|
|
+ percenWidth = progressThumV.progessIndicateBackV.frame.width / CGFloat(itemModels[currItemModelIndex].materialDuraion)
|
|
|
|
+ }
|
|
|
|
+ indirectionView?.resetAllSubViews(items: itemModels[currItemModelIndex].voiceStickers, percenWidth: percenWidth, totalDuration: itemModels[currItemModelIndex].materialDuraion)
|
|
|
|
+ }
|
|
}
|
|
}
|