|
@@ -79,6 +79,8 @@ class BFRecordScreenCameraManager: BFRecordScreenBaseManager {
|
|
|
var groupCount = 0
|
|
|
|
|
|
var avplayerTimeObserver: NSKeyValueObservation?
|
|
|
+
|
|
|
+ var audioPlayerIsPlaying:Bool = false
|
|
|
|
|
|
lazy var avplayer: AVPlayer = {
|
|
|
let p = AVPlayer(playerItem: nil)
|
|
@@ -465,7 +467,7 @@ class BFRecordScreenCameraManager: BFRecordScreenBaseManager {
|
|
|
BFLog(2, message: "is playering 本次查找无效,有播放任务")
|
|
|
return
|
|
|
}
|
|
|
- BFLog(message: "开始查找!!!!当前进度:\(currentAssetProgress.seconds)")
|
|
|
+ BFLog(2,message: "开始查找!!!!当前进度:\(currentAssetProgress.seconds)")
|
|
|
|
|
|
// 播放音频
|
|
|
var useVoiceStickers = [PQVoiceModel]()
|
|
@@ -484,21 +486,24 @@ class BFRecordScreenCameraManager: BFRecordScreenBaseManager {
|
|
|
// 当前播放的文件
|
|
|
|
|
|
let cureentPalyURlString = BFAudioPlayer.shared.currentAudioPathURL?.absoluteString ?? ""
|
|
|
- if cureentPalyURlString.replacingOccurrences(of: "file://", with: "") == mod.wavFilePath{
|
|
|
+ if cureentPalyURlString.replacingOccurrences(of: "file://", with: "") == mod.wavFilePath && (BFAudioPlayer.shared.player?.isPlaying ?? false){
|
|
|
BFLog(2, message: "命中的和播放的文件路径一样? wavFilePath:\(mod.wavFilePath ?? "")")
|
|
|
return
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+ BFAudioPlayer.shared.delegate = self
|
|
|
BFAudioPlayer.shared.configPlayer(audioPathURL: URL(fileURLWithPath: mod.wavFilePath))
|
|
|
|
|
|
let tt = currentAssetProgress - mod.startCMTime
|
|
|
BFLog(1, message: "record - tt: \(tt.seconds), curr:\(currentAssetProgress.seconds) \(needPlay) mod.wavFilePath\(mod.wavFilePath ?? "")")
|
|
|
if CMTimeCompare(tt, .zero) == 0 {
|
|
|
if needPlay {
|
|
|
+ audioPlayerIsPlaying = true
|
|
|
BFAudioPlayer.shared.playOrPause()
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+ audioPlayerIsPlaying = true
|
|
|
BFAudioPlayer.shared.setPlayingTime(tt.seconds)
|
|
|
BFAudioPlayer.shared.playOrPause()
|
|
|
|
|
@@ -786,6 +791,26 @@ class BFRecordScreenCameraManager: BFRecordScreenBaseManager {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+extension BFRecordScreenCameraManager: BFAudioPlayerDelegate{
|
|
|
+
|
|
|
+ // 播放完成
|
|
|
+ func audioPlayerDidFinish(){
|
|
|
+ BFLog(message: "audioPlayerDidFinish")
|
|
|
+ audioPlayerIsPlaying = false
|
|
|
+ }
|
|
|
+
|
|
|
+ // 播放开始
|
|
|
+ func audioPlayerStart(){
|
|
|
+
|
|
|
+ }
|
|
|
+ // 播放进度
|
|
|
+ func playProgress(currentTime: TimeInterval, progress: Double){
|
|
|
+
|
|
|
+ BFLog(message: "currentTime is \(currentTime)")
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
extension BFRecordScreenCameraManager: GPUImageVideoCameraDelegate {
|
|
|
func willOutputSampleBuffer(_ sampleBuffer: CMSampleBuffer!) {
|
|
|
if !recording || BFRecordScreenCameraManager.initOpenCamera {
|