From 63f7ed967433acee3ae8764c7a077e15c29c41f2 Mon Sep 17 00:00:00 2001 From: 杨锴 <841720330@qq.com> Date: 星期三, 06 十一月 2024 21:17:19 +0800 Subject: [PATCH] fix bug --- XQMuse/Root/Home/VC/HomeItemDetailVC.swift | 29 +++++++++++++++++++++++++++-- 1 files changed, 27 insertions(+), 2 deletions(-) diff --git a/XQMuse/Root/Home/VC/HomeItemDetailVC.swift b/XQMuse/Root/Home/VC/HomeItemDetailVC.swift index 061e2b2..0dc9ef1 100644 --- a/XQMuse/Root/Home/VC/HomeItemDetailVC.swift +++ b/XQMuse/Root/Home/VC/HomeItemDetailVC.swift @@ -31,6 +31,11 @@ private var id:Int! private var timeLook:Int = 0 //观看时间记录 private var settingViewModel = UserDefaultSettingViewModel.getSetting() + + private var currentInterval:TimeInterval = 0 + private var totalInterval:TimeInterval = 0 + + private var model:MeditationModel?{ didSet{ if let m = model{ @@ -140,6 +145,13 @@ } }.disposed(by: disposeBag) + + + slider_voice.rx.value.changed.subscribe(onNext: {[weak self] v in + guard let weakSelf = self else { return } + let value = (v.double / 100.0) * weakSelf.totalInterval + self?.audioPlayer.setBGMRate(value: value) + }).disposed(by: disposeBag) } private func startMiniRunloop(){ @@ -159,8 +171,14 @@ } @IBAction func playAction(_ sender: UIButton) { + sender.isSelected = !sender.isSelected if let m = model{ - audioPlayer.playBGMAt(firstPlayIndex: 0, model: m, delegate: self) + + if sender.isSelected{ + audioPlayer.playBGMAt(firstPlayIndex: 0, model: m, delegate: self,coverImage: img_background.image) + }else{ + audioPlayer.bgmPlayer?.pause() + } } } @@ -281,11 +299,18 @@ guard !totalInterval.isNaN else {return} guard !currentInterval.isNaN else {return} + self.currentInterval = currentInterval + self.totalInterval = totalInterval + timeLook += 1 let v = currentInterval / totalInterval * 100 print("music:当前时间:\(currentInterval) ---- \(totalInterval) -- \(v)%") - self.slider_voice.value = Float(v) + + if !self.slider_voice.isTracking{ + self.slider_voice.value = Float(v) + } + let current = Date.jq_formateToTime_tuple(Int(currentInterval)) label_currentTime.text = String(format: "%02ld:%02ld", current.hour * 60 + current.minute,current.second) -- Gitblit v1.7.1