为啥我在 iOS 9 上的 WKWebView 中的音频流无法播放?

Posted

技术标签:

【中文标题】为啥我在 iOS 9 上的 WKWebView 中的音频流无法播放?【英文标题】:Why is my audio stream in WKWebView on iOS 9 not playing?为什么我在 iOS 9 上的 WKWebView 中的音频流无法播放? 【发布时间】:2015-09-21 18:13:59 【问题描述】:

我有一个 WKWebView,其内容有一个 <audio> 元素,指向在 Shoutcast 服务器上运行的标准音频流,但不会播放。 javascript 控制台中没有错误或信息,Xcode 中的调试器中也没有错误。

【问题讨论】:

【参考方案1】:

我将此添加到应用程序传输安全设置 plist 中,它为我解决了问题:

<key>NSAllowsArbitraryLoadsForMedia</key>
    <true/>

【讨论】:

【参考方案2】:

问题原来是App Transport Security。 ios 9 中的这项新安全功能可以静默阻止&lt;audio&gt; 元素连接到不安全的音频流。通过将其添加到我的info.plist 来允许任意加载解决了这个问题:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

【讨论】:

顺便说一句,可以创建白名单:developer.apple.com/library/prerelease/ios/technotes/…【参考方案3】:

如果某些&lt;audio&gt;的问题仍然存在,请将js中的“touchstart click”事件替换为“touchend click

查看link了解更多详情

【讨论】:

以上是关于为啥我在 iOS 9 上的 WKWebView 中的音频流无法播放?的主要内容,如果未能解决你的问题,请参考以下文章

ios开发h5页面有一个加载框为啥我在wkwebview上不能弹出来

使用 WKWebView 在 iOS 13 中进行桌面浏览?

在 iOS 9 中遇到 WKWebview 和 UIWebView 问题

为啥 WKWebView 无法运行 processingjs 脚本?

iOS 9 WKWebView 产生“加载资源失败:已取消”,而 iOS 8 没有

在 iOS 10 上的 WKWebView 中打开 PDF 文件时启用捏合缩放手势