我正在使用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>"
视频将按照需要内联播放,但不会自动播放。这里发生了什么?行为是否由来源确定?