ios 12.2 无法播放 uiwebview 视频

Posted

技术标签:

【中文标题】ios 12.2 无法播放 uiwebview 视频【英文标题】:uiwebview Video cannot be played in IOS 12.2 【发布时间】:2019-04-24 02:26:22 【问题描述】:

ios 12.2真机无法播放UIWebView加载的html5中的视频,链接urlhttp://community.cqliving.com/h5/info/detail/512.html?cid=512&isOpenApp=&f=10,其他版本可以播放视频

Rendering

【问题讨论】:

UIWebView 在 iOS 8 中被 WKWebView 取代。 @maddy 不,不是,UIWebView 今天仍然存在,甚至现在 WKWebView 还没有 UIWebView 的所有功能 【参考方案1】:

尝试包括这两行

webView.allowsInlineMediaPlayback = YES;
webView.mediaPlaybackRequiresUserAction = NO;

这些行解决了我在 iOS 12.2 中出现的问题

【讨论】:

当我尝试快速执行此操作时,我得到“无法分配给 'Bool 类型的不可变表达式?”【参考方案2】:

是否使用 UIWebView 或 WKWebView 或类似方法嵌入?

尝试将网络视图的mediaPlaybackRequiresUserAction 设置为YES。我在 iOS 12.2 中看到了同样的问题(UIWebViewWKWebView 两者)。在 iOS 12.1 及更早版本中运行良好。

调试时,您会在 Safari 控制台中看到此错误:

Unhandled Promise Rejection: NotAllowedError: 请求不是 用户代理或平台在当前上下文中允许, 可能是因为用户拒绝了权限

https://developer.apple.com/documentation/uikit/uiwebview/1617954-mediaplaybackrequiresuseraction?language=objc

https://developer.apple.com/documentation/webkit/wkwebviewconfiguration/1614727-mediaplaybackrequiresuseraction?language=objc

可能与此问题类似

Video from local storage not playing in WebView (Xamarin.Forms) after latest iOS update (12.2)

【讨论】:

【参考方案3】:

mediaPlaybackRequiresUserAction = NO; 看:https://www.jianshu.com/p/d3f326dae445

【讨论】:

是的,我想这和我看到的一样 当我尝试快速执行此操作时,我得到“无法分配给 'Bool 类型的不可变表达式?”【参考方案4】:

您需要在您的应用中启用不安全的内容加载。否则,如果您不想这样做,您可以在安全服务器上创建视频镜像。

https://***.com/a/30732693 在这里查看更多信息。

【讨论】:

谢谢! community.cqliving.com/h5/info/detail/… h5网页视频无法播放。在IOS 12.2 其他版本可以玩

以上是关于ios 12.2 无法播放 uiwebview 视频的主要内容,如果未能解决你的问题,请参考以下文章

最新 iOS 更新 (12.2) 后,本地存储中的视频未在 WebView (Xamarin.Forms) 中播放

UIWebView 拦截来自 javascript 音频播放器的“设置电影路径:”

iOS 9 UIWebview 嵌入式视频全屏播放导致约束错误

UIWebView 无需转到 iOS 的视频播放器即可播放 Html 5 视频

iOS5:在模态 UIViewController 中播放 Youtube 视频时 UIWebView 出现异常

无法在 UIWebView 中播放 Facebook 实时视频