2017-09-17 5 views
0

iOS 플레이어에서 타임 시프트 (라이브 스트리밍 비디오 용) 기능을 사용하고 싶지만 타임 시프트를 지원하는 라이브러리가 없습니다. 나는이 같은 라이브러리의 많은 문서를 읽을 :Android의 ExoPlayer와 같은 iOS (AVFoundation 또는 다른 타사 라이브러리)에서 HLS 타임 시프트 기능을 사용하는 방법은 무엇입니까?

1- piemonte 2 kaltura

안드로이드에서, 구글은 쉽게 우리에게이 기능을 제공 ExoPlayer을 소개합니다. iOS에서이 기능을 구현하려면 어떻게해야합니까? 또는 그것을 구현하는 라이브러리가 있습니까?

+0

당신이 비디오 플레이어 스트리밍 구현할까요? – Yuyutsu

+0

@Yuyutsu no, Media Player에이 기능을 추가하기 만하면됩니다. –

답변

1

이 시도 :

 @IBOutlet weak var liveView: UIView! //Add `UIView` on your ViewController and create @IBOutlet for it. 
     var player = AVPlayer() 
     let playerViewController = AVPlayerViewController() 
     override func viewDidLoad() { 
      player = AVPlayer(url: URL(string:"Your_HLS_URL")!) 
      playerViewController.player = self.player 
      playerViewController.player?.play() 
      self.configureChildViewController(childController: self.playerViewController, onView: self.liveView) 

     } 

     func configureChildViewController(childController: UIViewController, onView: UIView?) { 
      var holderView = self.view 
      if let onView = onView { 
       holderView = onView 
      } 
      addChildViewController(childController) 
      holderView?.addSubview(childController.view) 
      constrainViewEqual(holderView: holderView!, view: childController.view) 
      childController.didMove(toParentViewController: self) 
     } 

     func constrainViewEqual(holderView: UIView, view: UIView) { 
      view.translatesAutoresizingMaskIntoConstraints = false 
      //pin 100 points from the top of the super 
      let pinTop = NSLayoutConstraint(item: view, attribute: .top, relatedBy: .equal, 
              toItem: holderView, attribute: .top, multiplier: 1.0, constant: 0) 
      let pinBottom = NSLayoutConstraint(item: view, attribute: .bottom, relatedBy: .equal, 
               toItem: holderView, attribute: .bottom, multiplier: 1.0, constant: 0) 
      let pinLeft = NSLayoutConstraint(item: view, attribute: .left, relatedBy: .equal, 
              toItem: holderView, attribute: .left, multiplier: 1.0, constant: 0) 
      let pinRight = NSLayoutConstraint(item: view, attribute: .right, relatedBy: .equal, 
               toItem: holderView, attribute: .right, multiplier: 1.0, constant: 0) 

      holderView.addConstraints([pinTop, pinBottom, pinLeft, pinRight]) 
     }