2015-09-16 18 views
9

Ähnlich wie this question Fragen darüber, wie man YouTube Videos auf tvOS spielt, möchte ich Vimeo Videos in der App spielen, die ich baue. Jedoch, as explained here, regelmäßige Web-Ansichten (wie ich Dinge in iOS mache) sind out.Wie man Vimeo Inhalt auf tvOS spielt

Wie würde ich ein Vimeo-Video auf tvOS abspielen, vorausgesetzt, ich kenne die URL der Videodatei, aber nicht die URL der Rohdatei .mp4?

+0

PS: Ich bin auf der Suche nach etwas, das nicht gegen die Vimeo-Nutzungsbedingungen verstößt, aber ich wäre auch daran interessiert, von Bibliotheken wie [HCYouTubeParser] (https://github.com/hellozimi/HCYoutubeParser) zu hören kann die .mp4 URL herausfinden. – Nick

+0

Ich denke, wir werden warten müssen, bis Vimeo ihre API aktualisiert, um so etwas auf tvOS zu tun, aber ich dachte, ich würde die Frage da draußen sowieso bekommen. – Nick

Antwort

-4

Sie können Ihr Video mit AVPlayer wiedergeben, genau wie auf iOS.

AVPlayer Documentation

+2

Sicher, wenn ich die vollständige URL zur .mp4-Datei hätte (was ich nicht ohne Verletzung der Nutzungsbedingungen tun kann, wie ich in meiner Frage erklärt habe). Aber ich glaube nicht, dass ich dem AVPlayer eine URL wie https://vimeo.com/2619976 geben kann und erwarte, dass sie abgespielt wird. Oder fehlt mir eine magische AVPlayer-Funktion? – Nick

3

Nun, es scheint, gibt es keine Möglichkeit, eine Vimeo Video in einem WebView zu spielen, weil tvOS SDK keine WebView haben. Die einzige Option, die wir haben, ist AVPlayer, aber es erfordert eine direkte URL zu einem Video, und Vimeo wird uns keine direkten Video-URLs geben. Derzeit besteht die einzige Möglichkeit darin, die PRO-Mitgliedschaft von Vimeo zu erwerben (momentan 199 USD pro Jahr) und direkte Video-URLs über die API von Vimeo abzurufen.

EDIT: wie nickv2002 bemerkt, wird dieser Ansatz Ihnen direkte URLs nur zu Ihren eigenen Videos geben. Das bedeutet, dass Sie selbst mit Vimeo PRO kein Video auf Vimeo aufnehmen können und eine direkte URL dafür erhalten.

+1

Danke für Ihre Antwort. Eine Vimeo Pro-Mitgliedschaft wäre eine gute Option, wenn Sie nur den Dienst nutzen möchten, um Ihre eigenen Videos zu verbreiten. Leider ist dies nicht möglich, wenn Sie * andere * Nutzervideos auf tvOS sehen möchten. – Nick

2

diese Schote verwenden, können tvOS vimeo Inhalte spielen,

pod

'YTVimeoExtractor' Install

und

import YTVimeoExtractor 

Und mit dieser Funktion das Video

spielen
func playVimeoVideo(videoId: String) 
{ 
    YTVimeoExtractor.shared().fetchVideo(withVimeoURL: "https://vimeo.com/video/\(videoId)", withReferer: nil) { (video:YTVimeoVideo?, error:Error?) in 

     if let streamUrls = video?.streamURLs 
     { 
      var streamURL: String? 
      var streams : [String:String] = [:] 
      for (key,value) in streamUrls { 

       streams["\(key)"] = "\(value)" 
       print("\(key) || \(value)") 
      } 

      if let large = streams["720"] 
      { 
       streamURL = large 
      } 
      else if let high = streams["480"] 
      { 
       streamURL = high 
      } 
      else if let medium = streams["360"] 
      { 
       streamURL = medium 
      } 
      else if let low = streams["270"] 
      { 
       streamURL = low 
      } 

      if let url = streamURL 
      { 
       let videoURL = NSURL(string: url) 
       let player = AVPlayer(url: videoURL! as URL) 
       let playerViewController = AVPlayerViewController() 
       playerViewController.player = player 
       self.present(playerViewController, animated: true) { 
        playerViewController.player!.play() 
       } 
      } 
     } 
    } 
} 
+0

Auf andere Projekte in diesen Tagen habe ich also nicht getestet, aber das scheint eine gute Lösung zu sein. Danke, +1 – Nick