瀏覽代碼

录制后播放再录制失败的问题

harry 3 年之前
父節點
當前提交
4f9af656aa

+ 2 - 2
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenCameraManager.swift

@@ -703,7 +703,7 @@ class BFRecordScreenCameraManager: BFRecordScreenBaseManager {
         let p = CGPoint(x: currentAssetProgress.seconds * 70.0 / 5.0, y: 0)
         let p = CGPoint(x: currentAssetProgress.seconds * 70.0 / 5.0, y: 0)
         cameraProgressV?.progressView.contentOffset = p
         cameraProgressV?.progressView.contentOffset = p
         
         
-        BFLog(1, message: "curr: \(currentAssetProgress.seconds)")
+//        BFLog(1, message: "curr: \(currentAssetProgress.seconds)")
         
         
         if currTime.seconds >= (recordItem?.materialDuraion.seconds ?? 0) {
         if currTime.seconds >= (recordItem?.materialDuraion.seconds ?? 0) {
             dele?.isEndPlay = true
             dele?.isEndPlay = true
@@ -807,7 +807,7 @@ extension BFRecordScreenCameraManager: BFAudioPlayerDelegate{
     // 播放进度
     // 播放进度
     func playProgress(currentTime: TimeInterval, progress: Double){
     func playProgress(currentTime: TimeInterval, progress: Double){
         
         
-        BFLog(message: "currentTime is \(currentTime) progress\(progress) \(BFAudioPlayer.shared.currentAudioPathURL?.absoluteString ?? "")")
+//        BFLog(message: "currentTime is \(currentTime) progress\(progress) \(BFAudioPlayer.shared.currentAudioPathURL?.absoluteString ?? "")")
     }
     }
     
     
 }
 }

+ 10 - 0
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenController.swift

@@ -1489,6 +1489,16 @@ public class BFRecordScreenController: BFBaseViewController {
             BFLog(message: "没有录音权限不能录制")
             BFLog(message: "没有录音权限不能录制")
             return
             return
         }
         }
+        
+        if AVAudioSession.sharedInstance().category != .playAndRecord {
+            do {
+                try AVAudioSession.sharedInstance().setCategory(.playAndRecord)
+                try AVAudioSession.sharedInstance().setActive(true, options: AVAudioSession.SetActiveOptions.notifyOthersOnDeactivation)
+            } catch _ {
+                BFLog(message: "AVAudioSession.sharedInstan切换录音失败!")
+                return
+            }
+        }
 
 
         // 停止进度条滚动
         // 停止进度条滚动
         if isDragingProgressSlder {
         if isDragingProgressSlder {