|
@@ -46,7 +46,6 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
|
|
|
static var firstOpenCamera : Bool = true
|
|
|
|
|
|
var currPlayTime : CMTime = .zero
|
|
|
-
|
|
|
fileprivate var timerr:Timer?
|
|
|
|
|
|
var writerlock = false
|
|
@@ -69,7 +68,8 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
|
|
|
let group = DispatchGroup() //创建group
|
|
|
return group
|
|
|
}()
|
|
|
-
|
|
|
+ var groupCount = 0
|
|
|
+
|
|
|
var avplayerTimeObserver: NSKeyValueObservation?
|
|
|
|
|
|
lazy var avplayer : AVPlayer = {
|
|
@@ -159,8 +159,11 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
|
|
|
startRecord()
|
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3, execute: { [weak self] in
|
|
|
guard let wself = self else { return }
|
|
|
- wself.gropQueue.leave()
|
|
|
- wself.gropQueue.leave()
|
|
|
+ while wself.groupCount > 0{
|
|
|
+ wself.gropQueue.leave()
|
|
|
+ wself.groupCount -= 1
|
|
|
+ }
|
|
|
+
|
|
|
wself.endRecord()
|
|
|
})
|
|
|
}
|
|
@@ -175,6 +178,10 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
|
|
|
}
|
|
|
|
|
|
override func startRecord(){
|
|
|
+
|
|
|
+ gropQueue.enter() // 录音
|
|
|
+ groupCount += 1
|
|
|
+
|
|
|
guard let movieWrite = movieWrite, !writerlock else {
|
|
|
cShowHUB(superView: nil, msg: "option_fail_record".BFLocale)
|
|
|
return
|
|
@@ -222,8 +229,9 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
|
|
|
})
|
|
|
RunLoop.current.add(timerr!, forMode: .common)
|
|
|
|
|
|
- gropQueue.enter() // 录音
|
|
|
gropQueue.enter() // 录像
|
|
|
+ groupCount += 1
|
|
|
+
|
|
|
gropQueue.notify(queue: DispatchQueue.main) {[weak self] in
|
|
|
guard let wself = self else { return }
|
|
|
if BFRecordScreenCameraManager.firstOpenCamera{
|
|
@@ -366,7 +374,7 @@ class BFRecordScreenCameraManager : BFRecordScreenBaseManager{
|
|
|
}
|
|
|
|
|
|
func resetThumbImg(){
|
|
|
- videoModel.thumImgs?.removeAll()
|
|
|
+// videoModel.thumImgs?.removeAll()
|
|
|
let vidos = recordItem?.videoStickers
|
|
|
var tmpThumbs = [UIImage]()
|
|
|
vidos?.forEach({ mod in
|