为什么不将视频`src'传递给`shouldInterceptRequest()'

时间:2017-02-14 02:09:40

标签: android video webview

我在应用中有一个WebView,只有一个目的,加载一些HTML并渲染它。内容是一个zip文件,我成功地直接从zip文件传递了一个InputStream对象而没有提取它。

这一切都运行良好,我可以使用WebView与zip存档中的内容进行正确渲染,但我没有让它播放视频。

视频受到与所有其他资源相同的约束。我希望在shouldInterceptRequest()需要获取视频资源时调用WebView,但它根本不会。

我确信问题是在加载文件时,WebView显然尝试了本地文件,当它失败时,它会尝试从服务器获取它。

我的应用程序,没有互联网许可,它旨在供离线使用。此外,我定义了自定义URI方案,并且它运行良好。

只需

webView.loadUrl("myscheme://myresource/index.html")

然后在shouldInterceptRequest()我拦截并解析文件名,在zip存档中找到它,得到一个InputStream,其余的很简单。除非因为它不适用于视频src

我会接受任何有效的解决方案,因为在这一点上,我只是想让它起作用。但我更喜欢

  1. 当然,让它像其它资源一样工作。
  2. 使用适当的术语制作自定义URI解析器或等效文件,原则上这只会响应通过我的自定义方案请求的任何内容。这应该只是WebView内部传递某些内容传递给用于显示视频的setDataSource()对象的MediaPlayer方法的方式。

0 个答案:

没有答案