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 中看到了同样的问题(UIWebView
和 WKWebView
两者)。在 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 视频