使用HTML5和UIWebView嵌入时,如何防止视频全屏显示?

时间:2016-04-25 07:02:33

标签: swift uiwebview

我正在使用UIWebView将视频嵌入到我的应用程序中。当用户按下播放时,期望的行为是视频不会全屏显示。 我试图用

来实现这个目标
let HTMLString = 
"<iframe " +
        "src=\"https://streamable.com/e/2k8l?logo=0&playsinline=1&autoplay=1\" " +
        "width=\"\(width-20)\" height=\"\(height-20)\" " +
        "webkit-playsinline>" +
"</iframe>"

webView.scrollView.scrollEnabled = false
webView.allowsInlineMediaPlayback = true
webView.mediaPlaybackRequiresUserAction = false
webView.loadHTMLString(HTMLString, baseURL: NSBundle.mainBundle().bundleURL)

由于这是一个可流式链接,&#34; logo = 0&#34;删除可流动的徽标。自动播放是理想的,工作得很好;但是播放视频的代码&#34;内联&#34;不管用。我查看了UIWebView的iOS参考,设置webView.allowsInlineMediaPlayback = true的其他要求是我必须将"webkit-playsinline"添加到我的HTML字符串中。

我根本不会使用HTML,所以我对它不太熟悉,我根本无法弄清楚为什么视频会全屏显示。这是Streamable的限制吗?我不确定我是否理解发生了什么,但我也读到全屏是Safari中的行为并且在iPad上保存,HTML嵌入将永远不会内联播放。但我可能不使用Safari。

此外,youtube链接会播放内联视频。 使用相同的代码只更改HTMLString,如下所示:

let HTMLString = 
"<iframe " + 
    "width=\"\(width-20)\" height=\"\(height-20)\" " +
    "src=\"https://www.youtube.com/embed/OBmM79YadYM?autoplay=1&playsinline=1\">" +
"</iframe>"

视频将按照需要内联播放,但不会自动播放。这里发生了什么?行为是否由来源确定?

0 个答案:

没有答案