【问题标题】:uiwebview Video cannot be played in IOS 12.2ios 12.2 无法播放 uiwebview 视频
【发布时间】: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 的所有功能

标签: ios 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://stackoverflow.com/a/30732693 在这里查看更多信息。

    【讨论】:

    猜你喜欢
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    相关资源
    最近更新 更多