我创建了一个iOS应用程序,利用Vimeo播放视频.我想知道在iOS Swift中显示Vimeo视频的最佳方法是什么.
我已经修复了,当点击图像时,占位符图像将被隐藏,但视频将无法直接播放.除此之外,所有Vimeo界面元素都是可见的.我知道你应该给Vimeo提供信用,所以不用说我在视频的底部显示了一个Vimeo标志.是否有可能隐藏网络播放器的所有Vimeo元素?
我可以找到更多信息的来源会很好.如果还有任何问题,请告诉我!提前致谢.
我能够弄清楚的最好方法是使用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&title=1&byline=1&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)
您可以使用此Swift库HCVimeoVideoExtractor提取mp4视频URL,然后使用AVPlayer播放它。只需传递Vimeo视频链接或视频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)
小智 -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
| 归档时间: |
|
| 查看次数: |
6816 次 |
| 最近记录: |