How do I play a video on tvOS for Apple TV?

前端 未结 6 1322
北荒
北荒 2020-12-24 02:29

I started a blank tvOS project and created the following code:

- (void)viewDidLoad  
{  
    [super viewDidLoad];  

    AVPlayer *avPlayer = [AVPlayer playe         


        
6条回答
  •  旧时难觅i
    2020-12-24 02:58

    Swift version Make a PlayViewController which inherit the AVPlayerViewController. In the viewcontroller which has play button, add such function

    @IBAction func onClickPlay(sender: AnyObject) {
        let playerVC = PlayerViewController()
        playerVC.playVideo(urlString)
        [self.presentViewController(playerVC, animated: true, completion: nil)]
    }
    

    In the PlayerViewController

    func playVimeoVideo(link : String) {
    
        player = AVPlayer(URL: NSURL(string: link)!)   
        player?.play()
    }
    

    Notice The question and some answers may be a little misleading so that you might think that only the url with ".mp4" at the end can be played by the Apple TV. I believed so at the first time I saw the post. It is not true. In fact, with AVPlayerViewController you can play Vimeo streaming video! The link to the stream video is not like https://vimeo.com/92655878. It is possible to get it from Vimeo site by extracting it from a json file, which can be downloaded from this link

    let link = "https://vimeo.com/api/oembed.json?url=https%3A//vimeo.com/" + videoId
    

    To be able to get correct url for the video, you need to use the Vimeo Pro user access to get the stream link for a specific video.

提交回复
热议问题