下载视频,然后在Android Webview中播放本地副本

时间:2014-01-08 15:57:00

标签: android video webview local

我正在为Android上的Web应用程序构建一个瘦的本机包装器。我想保留我的HTML&网络上的Javascript,因为它会降低应用程序需要更新的频率。

但是,我想利用SD卡存储来存储视频 - 我的应用程序有几个可能会多次播放的视频,所以我宁愿下载它们并从本地副本播放它们。

我已成功完成的任务:

  • 当通过下载视频并将其保存到@JavascriptInterface

  • 的应用程序查看页面时,会写一个getExternalFilesDir(Environment.DIRECTORY_MOVIES).getAbsolutePath()来调用
  • 编写一个脚本,在下载完成后用src Url替换html元素的file://

问题

我在控制台中收到javascript错误:

"Not allowed to load local resource: file:///storage/emulated/0/Android/data/path/to/video.mp4"

我认为这是因为我有一个视频元素

<video src="file:///......."/>

由不同的(非本地)域名提供服务,因此webview的安全性说不。

有几个WebSettings方法,例如setAllowFileAccess(),但他们明确指出这只能启用JavaScript访问文件而不是HTML元素,例如<img>或(在这种情况下){{1 }}

这有什么办法吗? 如果没有,我的替代方法应该是什么?

修改

我可以只使用内置的浏览器缓存吗?

0 个答案:

没有答案