为啥我在 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 中的这项新安全功能可以静默阻止<audio>
元素连接到不安全的音频流。通过将其添加到我的info.plist
来允许任意加载解决了这个问题:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
【讨论】:
顺便说一句,可以创建白名单:developer.apple.com/library/prerelease/ios/technotes/…【参考方案3】:如果某些<audio>
的问题仍然存在,请将js中的“touchstart click”事件替换为“touchend click”
查看link了解更多详情
【讨论】:
以上是关于为啥我在 iOS 9 上的 WKWebView 中的音频流无法播放?的主要内容,如果未能解决你的问题,请参考以下文章
ios开发h5页面有一个加载框为啥我在wkwebview上不能弹出来
使用 WKWebView 在 iOS 13 中进行桌面浏览?
在 iOS 9 中遇到 WKWebview 和 UIWebView 问题
为啥 WKWebView 无法运行 processingjs 脚本?