wkWebView无法播放本地音频

问题描述:

由于iOS9的发布,我们可以使用loadFileURL:allowingReadAccessToURL:wkWebView无法播放本地音频

这看起来不错迄今呈现了wkWebView本地HTML,但我们是从HTML中扮演一个当地的mp3有问题。 有一个<audio>标记,src属性具有相对于mp3文件的路径。

iOS9模拟器正确播放我们的MP3,但物理设备没有。使用JavaScript捕捉错误显示networkState NETWORK_NO_SOURCE,这对我们毫无意义... 使用http URL作为src,并且从网上流式传输mp3效果良好。

有没有人管理,以播放本地音频文件与wkWebView

+0

同样的问题在这里 –

+0

同样的问题,有人想通了吗? – JohnnyC

+0

相关(我认为):https://github.com/RLovelett/WKWebViewVideo一个示例项目,说明了相同的概念,但有一个'

很容易修复其实你只需要前缀localhost上的SRC URL和您WKWebview端口(默认为12344)。

转成B:

<!-- A --> 
<audio src="img/beep.mp3" controls></audio> 

<!-- B --> 
<audio src="http://localhost:12344/img/beep.mp3" controls></audio> 

这似乎是一个WKWebView内部的代码不能访问本地文件。我不知道如果这是预期的行为或

loadFileURL:allowingReadAccessToURL:在之前的iOS 9中引入一个bug(雷达,任何人吗?),有一个workaround将其复制到tmp/www载入本地HTML文件。

出人意料的是,文件,然后可以有从WKWebView内访问 - 包括媒体文件。

我也在iOS 9.2上遇到过这个问题。具有本地网址的视频在模拟器上播放效果不错,但不会在设备上播放。使用Safari工具进行调试显示视频错误为相同的无源错误。我们提出了雷达吧:http://www.openradar.me/24281444 这里是疯狂的一部分 - 工作(而不必运行本地虚拟主机)是,我们发现,如果你在一个UIWebView首先播放的视频,则wkwebview视频会工作一个缺憾解决方法。我们采取了这样的一步,使用的是隐藏发挥半秒视频没有声音的已在标签的自动播放属性和Web视图一个UIWebView有 uiWebView.mediaPlaybackRequiresUserAction = false 虽然哈克因为什么,我已经看到它造成WKWebview到然后播放视频罚款。所以再解决一个问题,直到他们解决问题。