| | |
| | | required init?(coder: NSCoder) { |
| | | fatalError("init(coder:) has not been implemented") |
| | | } |
| | | override func viewDidDisappear(_ animated: Bool) { |
| | | super.viewDidDisappear(animated) |
| | | // app.orientation = .portrait |
| | | } |
| | | |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | // app.orientation = .allButUpsideDown |
| | | |
| | | if let id { |
| | | try? AVAudioSession.sharedInstance().setCategory(.playAndRecord, options: .defaultToSpeaker) |
| | |
| | | if let model = data.data{ |
| | | self?.detailModel = model |
| | | self?.playerVC.player = AVPlayer(url: URL(string: model.courseVideo)!) |
| | | self?.playerVC.exitsFullScreenWhenPlaybackEnds = true |
| | | self?.playerVC.entersFullScreenWhenPlaybackBegins = true |
| | | self?.playerVC.player?.play() |
| | | |
| | | self?.playerVC.player?.addPeriodicTimeObserver(forInterval: CMTimeMake(value: 1, timescale: 1), queue: DispatchQueue.main) { [weak self](time) in |
| | |
| | | self.addChild(playerVC) |
| | | playerVC.didMove(toParent: self) |
| | | label_studyState.isHidden = true |
| | | } |
| | | |
| | | override func setRx() { |
| | | NotificationCenter.default.rx.notification(UIDevice.orientationDidChangeNotification).take(until:self.rx.deallocated).subscribe { _ in |
| | | let orient = UIDevice.current.orientation |
| | | |
| | | if orient == .landscapeLeft || orient == .landscapeRight{ |
| | | |
| | | // self.playerVC.enterFullScreen(animated: true) |
| | | // self.playerVC.showsPlaybackControls = true |
| | | }else{ |
| | | // self.playerVC.exitFullScreen(animated: true) |
| | | // self.playerVC.showsPlaybackControls = true |
| | | } |
| | | |
| | | }.disposed(by: disposeBag) |
| | | } |
| | | |
| | | @objc private func playbackEnd(){ |
| | |
| | | extension CourseVideoDetailVC:AVPlayerViewControllerDelegate{ |
| | | |
| | | } |
| | | |
| | | extension AVPlayerViewController { |
| | | func enterFullScreen(animated: Bool) { |
| | | print("Enter full screen") |
| | | perform(NSSelectorFromString("enterFullScreenAnimated:completionHandler:"), with: animated, with: nil) |
| | | } |
| | | |
| | | func exitFullScreen(animated: Bool) { |
| | | print("Exit full screen") |
| | | perform(NSSelectorFromString("exitFullScreenAnimated:completionHandler:"), with: animated, with: nil) |
| | | } |
| | | } |