| | |
| | | @IBOutlet weak var label_info: UILabel! |
| | | @IBOutlet weak var btn_custom: UIButton! |
| | | |
| | | private let masterPlayer = AudioPlayer.getSharedInstance() |
| | | |
| | | private lazy var player:AVPlayer = { |
| | | let bgPath = Bundle.main.url(forResource: "bg_movie", withExtension: "mov") |
| | | let p = AVPlayer(url: bgPath!) |
| | |
| | | return p |
| | | }() |
| | | |
| | | private lazy var bgplayer:AVPlayer = { |
| | | let p = AVPlayer() |
| | | return p |
| | | }() |
| | | |
| | | private lazy var playerLayer:AVPlayerLayer = { |
| | | let pLayer = AVPlayerLayer() |
| | | pLayer.videoGravity = .resize |
| | | pLayer.videoGravity = .resizeAspectFill |
| | | return pLayer |
| | | }() |
| | | |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | |
| | | let tempModel = MeditationModel() |
| | | masterPlayer.playSceneAt(backgroundVoiceUrl) |
| | | Services.getPlan().subscribe(onNext: {[weak self]data in |
| | | if let url = data.data{ |
| | | self?.bgplayer.replaceCurrentItem(with: AVPlayerItem(url: URL(string: url)!)) |
| | | 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 } |
| | | |
| | | //当前正在播放的时间 |
| | | 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) { |
| | |
| | | } |
| | | |
| | | deinit{ |
| | | masterPlayer.clean() |
| | | |
| | | } |
| | | } |
| | | |