自从 iOS9 发布以来,我们可以使用 wkWebView
渲染本地 HTML使用 loadFileURL:allowingReadAccessToURL:
到目前为止这看起来不错,但我们在从 HTML 中播放本地 mp3 时遇到了问题。
有一个 <audio>
带有 src
的标签具有 mp3 文件相对路径的属性。
iOS9 模拟器可以正确播放我们的 mp3,但物理设备不能。使用 JavaScript 捕获错误显示 networkState NETWORK_NO_SOURCE
,这对我们来说没有意义......
使用 http URL 作为 src
从网络流式传输 mp3 效果很好。
有没有人设法用 wkWebView
播放本地音频文件? ?
最佳答案
我在 iOS 9.2 上也遇到过这个问题。具有本地 URL 的视频可以在模拟器上正常播放,但不能在设备上播放。使用 Safari 工具调试显示视频错误为相同的无源错误。我们为它提交了雷达:http://www.openradar.me/24281444
这是疯狂的部分 - 一个可行的笨拙解决方法(无需运行本地 Web 主机)是我们发现如果您首先在 UIWebView 中播放视频,那么 wkwebview 视频将起作用。我们更进一步,使用隐藏的 UIWebview 播放半秒没有声音的视频,标签中有自动播放属性,web View 有
uiWebView.mediaPlaybackRequiresUserAction = false
虽然像我所看到的那样 hacky,但它会导致 WKWebview 正常播放视频。所以在他们解决问题之前还有一个解决方案。
关于javascript - wkWebView 播放本地音频失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32780038/