杨锴
2024-11-08 529f3c6b775dc75869f978f7403ac50c5343b4e4
XQMuse/Root/Plans/PlanGuideVC.swift
@@ -43,24 +43,24 @@
        Services.getPlan().subscribe(onNext: {[weak self]data in
            if let url = data.data{
                self?.bgplayer.replaceCurrentItem(with: AVPlayerItem(url: URL(string: url)!))
                self?.bgplayer.replaceCurrentItem(with: AVPlayerItem(url: URL(string: url.jq_urlEncoded())!))
                self?.bgplayer.play()
            }
        }).disposed(by: disposeBag)
        self.bgplayer.addPeriodicTimeObserver(forInterval: CMTimeMake(value: 1, timescale: 1), queue: DispatchQueue.main) {[weak self] time in
            guard let weakSelf = self else { return }
//        self.bgplayer.addPeriodicTimeObserver(forInterval: CMTimeMake(value: 1, timescale: 1), queue: DispatchQueue.main) {[weak self] time in
//            guard let weakSelf = self else { return }
            //当前正在播放的时间
            let loadTime = CMTimeGetSeconds(time)
            //视频总时间
            let totalTime = CMTimeGetSeconds((weakSelf.bgplayer.currentItem?.duration)!)
            if loadTime >= totalTime{
                weakSelf.bgplayer.seek(to: CMTime.zero)
                weakSelf.bgplayer.play()
            }
        }
//            //当前正在播放的时间
//            let loadTime = CMTimeGetSeconds(time)
//            //视频总时间
//            let totalTime = CMTimeGetSeconds((weakSelf.bgplayer.currentItem?.duration)!)
//
//            if loadTime >= totalTime{
//                weakSelf.bgplayer.seek(to: CMTime.zero)
//                weakSelf.bgplayer.play()
//            }
//        }
            }
            override func viewWillAppear(_ animated: Bool) {
@@ -106,9 +106,21 @@
            }
            override func setRx() {
                        NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: nil, queue: nil) { [weak self] _ in
                                    self?.player.seek(to: CMTime.zero)
                                    self?.player.play()
                        NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: nil, queue: nil) { [weak self] data in
            let notifiUrl = ((data.object as? AVPlayerItem)?.asset as? AVURLAsset)
            let bgItem = (self?.bgplayer.currentItem?.asset as? AVURLAsset)
            let videoItem = (self?.player.currentItem?.asset as? AVURLAsset)
            if bgItem?.url == notifiUrl?.url{
                self?.bgplayer.seek(to: CMTime.zero)
                self?.bgplayer.play()
            }
            if videoItem?.url == notifiUrl?.url{
                self?.player.seek(to: CMTime.zero)
                self?.player.play()
            }
                        }
                        NotificationCenter.default.rx.notification(PlantGuideQuit_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self]data in
@@ -125,6 +137,11 @@
            @IBAction func backAction(_ sender: UIButton) {
                        self.dismiss(animated: true)
        if var m = UserDefaultSettingViewModel.getSetting(){
            m.userFirstLaunch = false
            UserDefaultSettingViewModel.saveSetting(m)
        }
            }
            @IBAction func customAction(_ sender: UIButton) {