如何在iOS Swift中播放Vimeo视频?

Cas*_*ert 6 vimeo ios swift

我创建了一个iOS应用程序,利用Vimeo播放视频.我想知道在iOS Swift中显示Vimeo视频的最佳方法是什么.

我已经修复了,当点击图像时,占位符图像将被隐藏,但视频将无法直接播放.除此之外,所有Vimeo界面元素都是可见的.我知道你应该给Vimeo提供信用,所以不用说我在视频的底部显示了一个Vimeo标志.是否有可能隐藏网络播放器的所有Vimeo元素?

我可以找到更多信息的来源会很好.如果还有任何问题,请告诉我!提前致谢.

Nit*_*ain 5

我能够弄清楚的最好方法是使用a WKWebView.

步骤:
(1)UIWebView在视图控制器中添加所需大小(2)从原始vimeo.com URL获取视频嵌入代码(3)最后,您可以使用以下代码示例嵌入视频:

let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height))
self.view.addSubview(webView)

let embedHTML="<html><head><style type=\"text/css\">body {background-color: transparent;color: black;}</style><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes\"/></head><body style=\"margin:0\"><div><iframe src=\"//player.vimeo.com/video/139785390?autoplay=1&amp;title=1&amp;byline=1&amp;portrait=0\" width=\"640\" height=\"360\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div></body></html>"
let url = URL(string: "https://")!
webView.loadHTMLString(embedHTML as String, baseURL:url )
webView.contentMode = UIViewContentMode.scaleAspectFit
Run Code Online (Sandbox Code Playgroud)


sup*_*rm0 5

您可以使用此Swift库HCVimeoVideoExtractor提取mp4视频URL,然后使用AVPlayer播放它。只需传递Vim​​eo视频链接或视频ID。

let url = URL(string: "https://vimeo.com/254597739")!
HCVimeoVideoExtractor.fetchVideoURLFrom(url: url, completion: { ( video:HCVimeoVideo?, error:Error?) -> Void in                
    if let err = error {                    
       print("Error = \(err.localizedDescription)")                    
       return
    }

    guard let vid = video else {
        print("Invalid video object")
        return
    }

    print("Title = \(vid.title), url = \(vid.videoURL), thumbnail = \(vid.thumbnailURL)")

    if let videoURL = vid.videoURL[.Quality540p] {
        let player = AVPlayer(url: videoURL)
        let playerController = AVPlayerViewController()
        playerController.player = player
        self.present(playerController, animated: true) {
            player.play()
        }
    }                            
})
Run Code Online (Sandbox Code Playgroud)

  • 它不适用于私人视频。 (5认同)
  • 该库只是解析 `https://player.vimeo.com/video/[video ID]/config` 返回的 JSON。 (2认同)

小智 -4

import AVFoundation
import AVKit

let videoURL = "https://vimeo.com/blablabla/whatevertheURLis"

func playExternalVideo() {
    let videoURL = NSURL(string: self.videoURL)
    let player = AVPlayer(url: videoURL as! URL)
    let playerViewController = AVPlayerView()

    playerViewController.player = player
}
Run Code Online (Sandbox Code Playgroud)

确保添加 AVKit Player View 并为其指定 AVPlayerView 类。至于 Vimeo 交易,它应该在没有 Vimeo 的 UI 控件的情况下播放。如需更多帮助,请观看此视频。https://www.youtube.com/watch?v=fhD7hXrpExE