【发布时间】:2018-07-03 17:39:47
【问题描述】:
我遇到的唯一问题是我无法根据苹果文档禁用全屏播放视频,这是默认启用的,需要如下设置:
webView.configuration.allowsInlineMediaPlayback = true
这是基于我对它的理解。但是,这不起作用,即使在您按下视频播放后立即配置后,它也会在本机全屏播放器中打开。我正在使用 WKWebView。
【问题讨论】:
我遇到的唯一问题是我无法根据苹果文档禁用全屏播放视频,这是默认启用的,需要如下设置:
webView.configuration.allowsInlineMediaPlayback = true
这是基于我对它的理解。但是,这不起作用,即使在您按下视频播放后立即配置后,它也会在本机全屏播放器中打开。我正在使用 WKWebView。
【问题讨论】:
播放视频内嵌需要两个先决条件:
初始化时需要设置 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)
为了让网络视图知道视频应该开始内联播放,需要设置适当的 URL 参数。
为此,您只需附加?playsinline=1。
例子:
webView.load(URLRequest(url: URL(string: "https://www.youtube.com/watch?v=OYbXaqQ3uuo?playsinline=1")!))
【讨论】:
?playsinline=1。
WKWebViewConfiguration,然后使用此配置(WKWebView(frame: CGRect, configuration: WKWebViewConfiguration)初始化WKWebView。如果您之后设置配置,它将无法正常工作。这是另一个问题的示例:stackoverflow.com/questions/50749805/…
在 Storyboard 中,您可以选中/取消选中内联播放以停止/允许全屏播放。
【讨论】:
我遇到了类似的问题,但略有不同。我们有一个 WkWebView 来加载一个移动友好的 Web 应用程序。在不同的地方,有一些视频链接效果很好,因为它们确实打开了默认的 iOS 视频播放器,因此用户可以全屏播放。这一切都很棒。但是,我们有一个部分,其中有一些播客。我正在尝试将流媒体提供商的 javascript 播放器用于这些音频流,但是当我按下播放时,原生 iOS 视频播放器会接管。我们不希望这样,因为提供商的播放器具有我们需要的一些功能。我尝试添加 ?playsinline=1 但对播放没有任何影响。是否可以在不影响我们应用其他区域的视频播放的情况下做到这一点?
【讨论】: