【问题标题】:Embed YouTube video in iOS without auto fullscreen在没有自动全屏的情况下在 iOS 中嵌入 YouTube 视频
【发布时间】:2015-02-08 20:18:15
【问题描述】:

我正在尝试在我的 Xcode 应用中嵌入 YouTube 视频。当我点击模拟器上的视频时,它会自动进入全屏,如下图所示。是否可以阻止我的视频自动全屏显示?

class ViewController: UIViewController {

    @IBOutlet var webView: UIWebView!
    override func viewDidLoad() {

        var html = "<html><body><iframe src=\"http://www.youtube.com/embed/W7qWa52k-nE\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen></iframe></body></html>"

        webView.loadHTMLString(html, baseURL: nil)
    }
}

【问题讨论】:

  • 删除 iframe 中的allowfullscreen

标签: html ios swift youtube youtube-api


【解决方案1】:

您需要允许在线播放:

webView.allowsInlineMediaPlayback = true

// add ?playsinline=1 to your YouTube video URL
let embededHTML = "<html><body><iframe src=\"http://www.youtube.com/embed/W7qWa52k-nE?playsinline=1\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen></iframe></body></html>"

webView.loadHTMLString(html, baseURL: NSBundle.mainBundle().bundleURL)

【讨论】:

  • 我们可以自动播放视频吗?
  • @QadirHussain 当然,在 playinline=1 之后添加 autoplay=1
  • 我已经这样做了,我正在 iOS 9.O ipad 中测试它并且无法正常工作。
  • @QadirHussain 提出一个新问题并发布您正在使用的完整代码。把链接发回这里,我去看看。
  • enablejsapi=1 也应该作为参数添加。顺便说一句,由于您使用的是嵌入式视频:如果您想防止错误 “此视频包含来自 _ _ _ 的内容。它被限制在某些网站上播放。”您可以使用URL(string: "http://www.youtube.com")作为baseURL。它必须是 http,而不是 https。这样您就不会遇到缺少“referrer”HTTP 标头字段的问题,这就是为什么某些嵌入会因此错误而被拒绝的原因。
猜你喜欢
  • 2013-01-27
  • 2017-07-22
  • 2014-04-11
  • 2014-04-21
  • 2015-05-06
  • 2011-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多