| | |
| | | import UIKit |
| | | import JQTools |
| | | |
| | | let CleanDetailTime_Noti = Notification.Name.init("CleanDetailTime_Noti") //2边都在记录,一方记录清除另一方 |
| | | |
| | | class HomeItemDetailVC: BaseVC,PayMusicDelegate{ |
| | | |
| | | @IBOutlet weak var slider_voice: UISlider! |
| | |
| | | private var currentInterval:TimeInterval = 0 |
| | | private var totalInterval:TimeInterval = 0 |
| | | |
| | | private var model:MeditationModel? |
| | | |
| | | private var model:MeditationModel?{ |
| | | didSet{ |
| | | if let m = model{ |
| | | label_title.text = m.meditationTitle |
| | | label_subtitle.text = m.detailDescription |
| | | label_commentNum.text = "\(m.questionCount)" |
| | | } |
| | | } |
| | | } |
| | | // init(id:Int) { |
| | | // super.init(nibName: nil, bundle: nil) |
| | | // self.id = id |
| | | // } |
| | | |
| | | init(id:Int) { |
| | | super.init(nibName: nil, bundle: nil) |
| | | self.id = id |
| | | } |
| | | init(model:MeditationModel) { |
| | | super.init(nibName: nil, bundle: nil) |
| | | self.model = model |
| | | } |
| | | |
| | | required init?(coder: NSCoder) { |
| | | fatalError("init(coder:) has not been implemented") |
| | |
| | | |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | title = "心泉·疗愈" |
| | | title = "泉疗愈" |
| | | |
| | | if settingViewModel?.bgm != nil { |
| | | audioPlayer.scenePlayer?.pause() |
| | | } |
| | | |
| | | yy_popBlock = {[weak self] in |
| | | if AudioPlayer.getSharedInstance().meditationModel == nil && self?.settingViewModel?.bgm != nil{ |
| | | self?.audioPlayer.playScene() |
| | | } |
| | | self?.navigationController?.popViewController() |
| | | } |
| | | |
| | | btn_playMode.isSelected = settingViewModel?.playModel == .singleLoop |
| | | |
| | |
| | | endMiniRunloop() |
| | | } |
| | | |
| | | Services.getMeditationDetail(id: id).subscribe(onNext: {[unowned self] data in |
| | | if let m = data.data{ |
| | | self.model = m |
| | | let dateTuple = Date.jq_formateToTime_tuple(m.meditationSecondList.first ?? 0) |
| | | self.label_totalTime.text = String(format: "%02ld:%02ld", dateTuple.hour * 60 + dateTuple.minute,dateTuple.second) |
| | | self.collect_bitem.image = m.favorite == .yes ? UIImage(named: "btn_collect_1_s"):UIImage(named: "btn_collect_1") |
| | | self.collect_bitem.tintColor = m.favorite == .yes ? UIColor(hexString: "fe5b60"):.white |
| | | self.img_background.sd_setImage(with: URL(string: data.data?.backgroundUrl ?? "")) |
| | | if audioPlayer.meditationModel?.id == m.id{ |
| | | audioPlayer.delegate = self |
| | | } |
| | | if let m = model { |
| | | label_title.text = m.meditationTitle |
| | | label_subtitle.text = m.detailDescription |
| | | label_commentNum.text = "\(m.questionCount)" |
| | | let dateTuple = Date.jq_formateToTime_tuple(m.meditationSecondList.first ?? 0) |
| | | self.label_totalTime.text = String(format: "%02ld:%02ld", dateTuple.hour * 60 + dateTuple.minute,dateTuple.second) |
| | | self.collect_bitem.image = m.favorite == .yes ? UIImage(named: "btn_collect_1_s"):UIImage(named: "btn_collect_1") |
| | | self.collect_bitem.tintColor = m.favorite == .yes ? UIColor(hexString: "fe5b60"):.white |
| | | self.img_background.sd_setImage(with: URL(string: m.backgroundUrl.jq_urlEncoded())) |
| | | if audioPlayer.meditationModel?.id == m.id{ |
| | | audioPlayer.delegate = self |
| | | } |
| | | }).disposed(by: disposeBag) |
| | | } |
| | | |
| | | //如果从支付过来的,移除支付 |
| | | navigationController!.viewControllers.removeAll { vc in |
| | |
| | | super.viewDidDisappear(animated) |
| | | |
| | | if let m = model,timeLook > 0{ |
| | | audioPlayer.lisenMuseTime = 0 |
| | | Services.watchMuse(id: m.id, timeLook: timeLook).subscribe(onNext: {_ in |
| | | NotificationCenter.default.post(name: TreeTaskUpdate_Noti, object: nil) |
| | | }).disposed(by: disposeBag) |
| | |
| | | let value = (v.double / 100.0) * weakSelf.totalInterval |
| | | self?.audioPlayer.setBGMRate(value: value) |
| | | }).disposed(by: disposeBag) |
| | | |
| | | NotificationCenter.default.rx.notification(CleanDetailTime_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self]_ in |
| | | self?.timeLook = 0 |
| | | }).disposed(by: disposeBag) |
| | | } |
| | | |
| | | private func startMiniRunloop(){ |
| | |
| | | @IBAction func playAction(_ sender: UIButton) { |
| | | sender.isSelected = !sender.isSelected |
| | | if let m = model{ |
| | | |
| | | if sender.isSelected{ |
| | | audioPlayer.playBGMAt(firstPlayIndex: 0, model: m, delegate: self,coverImage: img_background.image) |
| | | if audioPlayer.meditationModel != nil{ |
| | | if audioPlayer.meditationModel?.id != m.id{ |
| | | audioPlayer.playBGMAt(firstPlayIndex: 0, model: m, delegate: self,coverImage: img_background.image) |
| | | }else{ |
| | | audioPlayer.bgmPlayer?.play() |
| | | audioPlayer.masterPlayer?.play() |
| | | } |
| | | |
| | | }else{ |
| | | audioPlayer.playBGMAt(firstPlayIndex: 0, model: m, delegate: self,coverImage: img_background.image) |
| | | } |
| | | }else{ |
| | | audioPlayer.bgmPlayer?.pause() |
| | | } |