Browse Source

1,添加背景音乐参数 2,停止背景音乐逻辑,3,添加测试代码

jsonwang 3 years ago
parent
commit
fa826c6a63

+ 13 - 1
BFRecordScreenKit/Classes/RecordScreen/Controller/BFRecordScreenController.swift

@@ -55,6 +55,8 @@ public class BFRecordScreenController: BFBaseViewController {
 //    public var currentRecordId: String? // 当前录制Id
     //选了发音人点了确定
     public var voiceBtnClickHandle: ((_ voice: PQVoiceModel?) -> Void)?
+    //选择的背景音乐信息
+    public var bgmModel:PQVoiceModel?
     // MARK: - 素材参数
     lazy var rsvmanager : BFRecordScreenVideoManager = {
         let m = BFRecordScreenVideoManager()
@@ -733,6 +735,13 @@ public class BFRecordScreenController: BFBaseViewController {
     override public func viewDidLoad() {
         super.viewDidLoad()
         _ = disablePopGesture()
+        
+        let path = Bundle.main.path(forResource: "11111", ofType: "mp3")
+        bgmModel = PQVoiceModel.init()
+        bgmModel?.wavFilePath = path
+        bgmModel?.startCMTime  = CMTime.init(value: 20 * 1000_000, timescale: 1000_000)
+        bgmModel?.endCMTime  = CMTime.init(value: 240 * 1000_000, timescale: 1000_000)
+        bgmModel?.volume = 100
 
         let doubleTapGes = UITapGestureRecognizer(target: self, action: #selector(doubleTapAction(tap:)))
         doubleTapGes.numberOfTapsRequired = 2
@@ -2428,7 +2437,9 @@ public class BFRecordScreenController: BFBaseViewController {
             wself.isNormalPlaying = false
             wself.isEndPlay = true
             wself.updatePlayBtnStatus()
-
+            
+            //add by ak 导入视频素材播放结束后主动调用一次基类的pause 停止背景音乐
+            wself.rscurrentManager.pause()
 
             if wself.isRecording {
                 wself.endRecord()
@@ -2727,6 +2738,7 @@ extension BFRecordScreenController: UICollectionViewDelegate, UICollectionViewDa
 
     func endScrollItem(page: Int) {
         BFLog(1, message: "endScrollItem")
+        rscurrentManager.playBGMPlayer.pause()
         // 切换素材时先把录制状态切为不可用,延迟可点,避免在缩略图未加载出来时即刻录制
         currItemModelIndex = page
         // 暂停