无故事王国
2023-12-08 cf002d12c6cc172a2fe989243c038cc64f627a02
WanPai/Root/Course/VC/CourseVideoDetailVC.swift
@@ -48,9 +48,14 @@
   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)
@@ -58,8 +63,6 @@
            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
@@ -141,7 +144,22 @@
      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(){
@@ -183,3 +201,15 @@
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)
   }
}