fix
杨锴
2025-02-18 c5e51c0ec3cbf1016f3bfbd58b0f0a004aaa9900
XQMuse/Root/Home/VC/BackgroundVoiceVC.swift
@@ -11,9 +11,10 @@
class BackgroundVoiceVC: BaseVC {
            @IBOutlet weak var slider_voice: UISlider!
//            @IBOutlet weak var slider_voice: UISlider!
            @IBOutlet weak var collectionView: UICollectionView!
    @IBOutlet weak var sceneSwitch: UISwitch!
            private var items = [BGMModel]()
            private var settingModel = UserDefaultSettingViewModel.getSetting()
            private var audioPlayer = AudioPlayer.getSharedInstance()
@@ -29,7 +30,9 @@
//            audioPlayer.masterPlayer?.play()
//            audioPlayer.bgmPlayer?.play()
        }else{
            audioPlayer.playScene()
            if sceneSwitch.isOn{
                audioPlayer.playScene()
            }
        }
            }
@@ -56,6 +59,8 @@
        super.viewDidLoad()
                        title = "泉疗愈"
        sceneSwitch.isOn = UserViewModel.getSceneSwitch()
        yy_popBlock = { [weak self] in
            if self?.needPopRoot ?? false{
                if JQ_currentNavigationController().viewControllers.first is PlanGuideVC{
@@ -68,13 +73,12 @@
            }
        }
                        slider_voice.isEnabled = false
                        slider_voice.value = Float(settingModel?.volume ?? 0.5)
                        slider_voice.addTarget(self, action: #selector(volumeChange(_:)), for: .valueChanged)
//                        slider_voice.isEnabled = false
//                        slider_voice.value = Float(settingModel?.volume ?? 0.5)
                        Services.getBGM().subscribe(onNext: {[unowned self]data in
                                    if let m = data.data{
                                                self.items = m
                                                self.slider_voice.isEnabled = true
//                                                self.slider_voice.isEnabled = true
                                                self.collectionView.reloadData()
                                                DispatchQueue.main.asyncAfter(delay: 0.8) {
@@ -103,8 +107,8 @@
                        v1.jq_borderColor = .white
                        v1.jq_cornerRadius = 8.5
                        slider_voice.setThumbImage(v1.qmui_snapshotLayerImage(), for: .normal)
                        slider_voice.setThumbImage(v1.qmui_snapshotLayerImage(), for: .highlighted)
//                        slider_voice.setThumbImage(v1.qmui_snapshotLayerImage(), for: .normal)
//                        slider_voice.setThumbImage(v1.qmui_snapshotLayerImage(), for: .highlighted)
                        collectionView.collectionViewLayout = TestLeftRightCollectionViewFlowLayout(width: JQ_ScreenW, height: 213.5)
                        collectionView.delegate = self
@@ -127,8 +131,8 @@
            Services.saveUserSceneMusic(id: items[index.row].id).subscribe(onNext: {[weak self]data in
                guard let weakSelf = self else { return }
                weakSelf.settingModel?.sceneMusicModel = weakSelf.items[index.row]
                weakSelf.settingModel?.volume = Double(weakSelf.slider_voice.value)
                UserDefaultSettingViewModel.saveSetting(weakSelf.settingModel!)
                UserViewModel.setSceneSwitch(state: weakSelf.sceneSwitch.isOn)
                alertSuccess(msg: "设置成功")
            }).disposed(by: disposeBag)
@@ -138,11 +142,14 @@
            }
            needPopRoot = true
                                    NotificationCenter.default.post(name: SetBGMSuccess_Noti, object: items[index.row])
            DispatchQueue.main.asyncAfter(delay: 1.0) {
                NotificationCenter.default.post(name: SetBGMSuccess_Noti, object: self.items[index.row])
            }
            if !(UserViewModel.getLoginInfo()?.accessToken.isEmpty ?? true){
                DispatchQueue.main.asyncAfter(delay: 0.6) {
                    NotificationCenter.default.post(name: PlantGuideQuit_Noti, object: self.items[index.row])
                    self.navigationController?.popViewController()
                }
            }else{
                DispatchQueue.main.asyncAfter(delay: 0.6) {
@@ -150,10 +157,6 @@
                }
            }
                        }
            }
            @objc func volumeChange(_ slider:UISlider){
                        tempPlayer?.volume = slider.value
            }
            deinit{
@@ -181,7 +184,7 @@
        guard let URL = URL(string: model.audioFile.jq_urlEncoded()) else { return }
                        tempPlayer = AVPlayer(url: URL)
                        tempPlayer?.volume = slider_voice.value
//                        tempPlayer?.volume = slider_voice.value
                        tempPlayer!.play()
                        isPlaying = true
                        collectionView.reloadData()