在 iOS 上禁用全屏自动播放
Posted
技术标签:
【中文标题】在 iOS 上禁用全屏自动播放【英文标题】:Disabling auto-play in full screen on iOS 【发布时间】:2018-07-03 17:39:47 【问题描述】:我遇到的唯一问题是我无法根据苹果文档禁用全屏播放视频,这是默认启用的,需要如下设置:
webView.configuration.allowsInlineMediaPlayback = true
这是基于我对它的理解。但是,这不起作用,即使在您按下视频播放后立即配置后,它也会在本机全屏播放器中打开。我正在使用 WKWebView。
Apple's Documentation for this
【问题讨论】:
【参考方案1】:播放视频内嵌需要两个先决条件:
-
设置配置
提供格式正确的链接
1。设置配置
初始化时需要设置 WKWebView 的配置。稍后修改allowsInlineMediaPlayback
将不起作用:
let configuration = WKWebViewConfiguration()
configuration.allowsInlineMediaPlayback = true
let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height), configuration: configuration)
view.addSubview(webView)
2。提供格式正确的链接
为了让网络视图知道视频应该开始内联播放,需要设置适当的 URL 参数。
为此,您只需附加?playsinline=1
。
例子:
webView.load(URLRequest(url: URL(string: "https://www.youtube.com/watch?v=OYbXaqQ3uuo?playsinline=1")!))
【讨论】:
嗯,是的,这就是我的意思,它不会让它在视频播放器中播放,而是在所有情况下都转到原生播放器,所以每当你点击播放时,它会自动切换到全屏原生播放器跨度> 在这种情况下,请尝试在您正在加载的 URL 后面添加?playsinline=1
。
当然让我试试
如何设置配置?根据我的尝试,您必须创建一个WKWebViewConfiguration
,然后使用此配置(WKWebView(frame: CGRect, configuration: WKWebViewConfiguration
)初始化WKWebView
。如果您之后设置配置,它将无法正常工作。这是另一个问题的示例:***.com/questions/50749805/…
这确实有效,非常感谢您的帮助!将其作为答案提交,以便我接受!【参考方案2】:
我在网络视图中使用视频标签时遇到了这个问题。 我在页面中有三个视频,所有视频都连续全屏播放。 我解决了这个问题
1.检查内联播放
2.video标签添加playsinline属性
<video src="your_videosrc" autoplay playsinline></video>
很高兴有人帮助:)
【讨论】:
其他解决方案无效...除了这个!这应该是答案 我已经查看了至少 10 天,就这么简单。感谢您的帮助,非常感谢。【参考方案3】:在 Storyboard 中,您可以选中/取消选中内联播放以停止/允许全屏播放。
【讨论】:
【参考方案4】:我遇到了类似的问题,但略有不同。我们有一个 WkWebView 来加载一个移动友好的 Web 应用程序。在不同的地方,有一些视频链接效果很好,因为它们确实打开了默认的 ios 视频播放器,因此用户可以全屏播放。这一切都很棒。但是,我们有一个部分,其中有一些播客。我正在尝试将流媒体提供商的 javascript 播放器用于这些音频流,但是当我按下播放时,原生 iOS 视频播放器会接管。我们不希望这样,因为提供商的播放器具有我们需要的一些功能。我尝试添加 ?playsinline=1 但对播放没有任何影响。是否可以在不影响我们应用其他区域的视频播放的情况下做到这一点?
【讨论】:
以上是关于在 iOS 上禁用全屏自动播放的主要内容,如果未能解决你的问题,请参考以下文章
video 安卓ios系统 浏览器 全屏播放以及自动播放的问题