|
@@ -651,6 +651,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
self?.isEndPlay = true
|
|
self?.isEndPlay = true
|
|
// 录制结束显示播放按钮
|
|
// 录制结束显示播放按钮
|
|
sself.playBtn.isSelected = sself.itemModels[sself.currItemModelIndex].voiceStickers.count <= 0
|
|
sself.playBtn.isSelected = sself.itemModels[sself.currItemModelIndex].voiceStickers.count <= 0
|
|
|
|
+ sself.playBtn.isHidden = sself.playBtn.isSelected
|
|
}
|
|
}
|
|
DispatchQueue.main.async { [weak self] in
|
|
DispatchQueue.main.async { [weak self] in
|
|
// 录音完,重绘撤销按钮,更新录音按钮,
|
|
// 录音完,重绘撤销按钮,更新录音按钮,
|
|
@@ -1062,6 +1063,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
// 判断是否无录音了
|
|
// 判断是否无录音了
|
|
if itemModels[currItemModelIndex].materialDuraion == .zero {
|
|
if itemModels[currItemModelIndex].materialDuraion == .zero {
|
|
playBtn.isSelected = true
|
|
playBtn.isSelected = true
|
|
|
|
+ playBtn.isHidden = playBtn.isSelected
|
|
}
|
|
}
|
|
}
|
|
}
|
|
searchStopAtRecordRange()
|
|
searchStopAtRecordRange()
|
|
@@ -1124,7 +1126,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
}
|
|
}
|
|
// 录制中不显示播放按钮
|
|
// 录制中不显示播放按钮
|
|
playBtn.isSelected = true
|
|
playBtn.isSelected = true
|
|
-
|
|
|
|
|
|
+ playBtn.isHidden = playBtn.isSelected
|
|
let cell = collectionView.cellForItem(at: IndexPath(item: currItemModelIndex, section: 0)) as? BFImageCoverViewCell
|
|
let cell = collectionView.cellForItem(at: IndexPath(item: currItemModelIndex, section: 0)) as? BFImageCoverViewCell
|
|
if cell?.contentView.viewWithTag(100_100)?.superview == nil {
|
|
if cell?.contentView.viewWithTag(100_100)?.superview == nil {
|
|
cell?.contentView.addSubview(subtitleLabel)
|
|
cell?.contentView.addSubview(subtitleLabel)
|
|
@@ -1336,6 +1338,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
// 如果是图片需重置播放按钮
|
|
// 如果是图片需重置播放按钮
|
|
if itemModel.mediaType == .IMAGE {
|
|
if itemModel.mediaType == .IMAGE {
|
|
playBtn.isSelected = itemModels[currItemModelIndex].voiceStickers.count <= 0
|
|
playBtn.isSelected = itemModels[currItemModelIndex].voiceStickers.count <= 0
|
|
|
|
+ playBtn.isHidden = playBtn.isSelected
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1392,9 +1395,16 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
changeWithDrawBtnLayout(0)
|
|
changeWithDrawBtnLayout(0)
|
|
isEndPlay = (progress == 1)
|
|
isEndPlay = (progress == 1)
|
|
recorderManager?.voiceModel = nil
|
|
recorderManager?.voiceModel = nil
|
|
- // 视频拖动到最后隐藏录制按钮
|
|
|
|
- if itemModels[currItemModelIndex].mediaType == .VIDEO, CMTimeCompare(currentAssetProgress, itemModels[currItemModelIndex].materialDuraion) >= 0 {
|
|
|
|
- recordBtn.isHidden = true
|
|
|
|
|
|
+
|
|
|
|
+ if CMTimeCompare(currentAssetProgress, itemModels[currItemModelIndex].materialDuraion) >= 0 {
|
|
|
|
+ // 视频拖动到最后隐藏录制按钮
|
|
|
|
+ if itemModels[currItemModelIndex].mediaType == .VIDEO {
|
|
|
|
+ recordBtn.isHidden = true
|
|
|
|
+ } else {
|
|
|
|
+ recordBtn.isHidden = false
|
|
|
|
+ deleteRecordBtn.isHidden = true
|
|
|
|
+ recordBtn.alpha = 1
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1675,11 +1685,11 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
// 两个逻辑:如果在播,则跳过;如果暂停拖动到中间,则seek
|
|
// 两个逻辑:如果在播,则跳过;如果暂停拖动到中间,则seek
|
|
if sself.isNormalPlaying {
|
|
if sself.isNormalPlaying {
|
|
let second = currentT - recordedAudio.startCMTime
|
|
let second = currentT - recordedAudio.startCMTime
|
|
- sself.recordPlayer?.seek(to: second, toleranceBefore: CMTime(seconds: 1, preferredTimescale: 1000), toleranceAfter: CMTime(seconds: 1, preferredTimescale: 1000), completionHandler: { isFinished in
|
|
|
|
- if isFinished {
|
|
|
|
- sself.recordPlayer?.play()
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ if second.seconds > 0 {
|
|
|
|
+ sself.recordPlayer?.seek(to: second, toleranceBefore: CMTime(seconds: 1, preferredTimescale: 1000), toleranceAfter: CMTime(seconds: 1, preferredTimescale: 1000), completionHandler: { isFinished in
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ sself.recordPlayer?.play()
|
|
BFLog(3, message: "录音开始播放2, \(second), \(CMTimeGetSeconds(recordPlayer?.currentItem?.duration ?? .zero)),index = \(currentPlayRecordIndex)")
|
|
BFLog(3, message: "录音开始播放2, \(second), \(CMTimeGetSeconds(recordPlayer?.currentItem?.duration ?? .zero)),index = \(currentPlayRecordIndex)")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1752,6 +1762,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
|
|
|
|
// 暂停状态
|
|
// 暂停状态
|
|
playBtn.isSelected = (itemModels[currItemModelIndex].mediaType == .IMAGE && itemModels[currItemModelIndex].voiceStickers.count <= 0)
|
|
playBtn.isSelected = (itemModels[currItemModelIndex].mediaType == .IMAGE && itemModels[currItemModelIndex].voiceStickers.count <= 0)
|
|
|
|
+ playBtn.isHidden = playBtn.isSelected
|
|
}
|
|
}
|
|
|
|
|
|
func fetchVideo() {
|
|
func fetchVideo() {
|
|
@@ -1784,6 +1795,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
}
|
|
}
|
|
// 暂停状态--如果是图片素材同时没有录音文件时不显示播放按钮
|
|
// 暂停状态--如果是图片素材同时没有录音文件时不显示播放按钮
|
|
playBtn.isSelected = (itemModels.first?.mediaType == .IMAGE && (itemModels.first?.voiceStickers.count ?? 0) <= 0)
|
|
playBtn.isSelected = (itemModels.first?.mediaType == .IMAGE && (itemModels.first?.voiceStickers.count ?? 0) <= 0)
|
|
|
|
+ playBtn.isHidden = playBtn.isSelected
|
|
}
|
|
}
|
|
|
|
|
|
func setCoverImage(img: UIImage) {
|
|
func setCoverImage(img: UIImage) {
|
|
@@ -1863,6 +1875,7 @@ public class BFRecordScreenController: BFBaseViewController {
|
|
cShowHUB(superView: nil, msg: "此视频已录制到头了哦")
|
|
cShowHUB(superView: nil, msg: "此视频已录制到头了哦")
|
|
}
|
|
}
|
|
sself.playBtn.isSelected = false
|
|
sself.playBtn.isSelected = false
|
|
|
|
+ sself.playBtn.isHidden = sself.playBtn.isSelected
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2128,6 +2141,7 @@ extension BFRecordScreenController: UICollectionViewDelegate, UICollectionViewDa
|
|
let recordItem = itemModels[currItemModelIndex]
|
|
let recordItem = itemModels[currItemModelIndex]
|
|
// 暂停状态--如果是图片素材同时没有录音文件时不显示播放按钮
|
|
// 暂停状态--如果是图片素材同时没有录音文件时不显示播放按钮
|
|
playBtn.isSelected = (recordItem.mediaType == .IMAGE && recordItem.voiceStickers.count <= 0)
|
|
playBtn.isSelected = (recordItem.mediaType == .IMAGE && recordItem.voiceStickers.count <= 0)
|
|
|
|
+ playBtn.isHidden = playBtn.isSelected
|
|
// 重绘录音区域
|
|
// 重绘录音区域
|
|
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
|
|
@@ -2194,6 +2208,7 @@ public extension BFRecordScreenController {
|
|
if itemModels[currItemModelIndex].mediaType == .IMAGE {
|
|
if itemModels[currItemModelIndex].mediaType == .IMAGE {
|
|
if itemModels[currItemModelIndex].materialDuraion.seconds <= 0 {
|
|
if itemModels[currItemModelIndex].materialDuraion.seconds <= 0 {
|
|
playBtn.isSelected = true
|
|
playBtn.isSelected = true
|
|
|
|
+ playBtn.isHidden = playBtn.isSelected
|
|
return
|
|
return
|
|
}
|
|
}
|
|
isNormalPlaying = true
|
|
isNormalPlaying = true
|