【问题标题】:Is it possible to play mp4 file, located inside Download folder on Android WebView via Video Tag?是否可以通过视频标签播放位于 Android WebView 下载文件夹中的 mp4 文件?
【发布时间】:2016-06-22 12:34:13
【问题描述】:

我们有安卓设备。在该设备内部,内部闪存上的下载文件夹位于该文件夹内,该文件夹位于 cat.mp4

目前我们正在使用以下脚本

<video width="365" height="200" autoplay loop controls autobuffer>
  <source src="file:///sdcard/Download/cat.mp4" type='video/mp4'> 
</video>

我们也尝试过以下脚本

<video width="365" height="200" src="file:///sdcard/Download/cat.mp4" autoplay loop controls autobuffer> 
</video>

两个脚本都不播放本地视频文件。

包含上述视频标签的html文件本身来自某个远程位置(不是本地)。

(如果我们将 cat.mp4 放在远程位置,它可以毫无问题地播放)

这是在 WebView 中播放本地 mp4 文件的正确方法吗? 如果不是,那部分代码不正确?

【问题讨论】:

    标签: android html video local mp4


    【解决方案1】:

    这是在 WebView 中播放本地 mp4 文件的正确方法吗?

    不,一般情况下您不能这样做(无论是否使用 webView)。安全措施(在 HTML 协议中)不允许基于 Web 的应用程序从他们的硬盘驱动器(或其他存储)访问用户的文件。

    用户必须通过自己选择文件来允许访问(因此某些网站中的浏览/选择文件选项)。唯一的选择是:

    • 将 HTML 和视频文件放到网上(从网络加载所有内容)
    • 将 HTML 放入 SD 卡的下载文件夹,然后您可以使用 src="cat.mp4"

    您的方法的一个附带问题引出了一个问题,如果网站访问者在 SD 卡上没有这些文件,会发生什么?或者更糟糕的是,用户甚至不使用 Android(在 Win PC 上,我的浏览器如何理解src="file:///sdcard/Download/cat.mp4"?)

    【讨论】:

    • 这可能不是最优雅的解决方案,但这是我的解决方法:我在设备上安装了一些轻量级服务器。我在该服务器上上传我的文件并像这样引用它: src="localhost:[some port]/cat.mp4" 我还更改了视频格式,现在我使用 webm 格式,因为某些 mp4 文件没有在我的设备上播放.
    • 这是只需要在您的设备上运行(没有外部互联网用户)但通过浏览器显示的东西吗?那么为什么不使用我的选项 2?在您的 SD 卡上创建一个名为 mySite 的文件夹,然后将 html 文件和视频文件放在那里。然后 html 的视频标签只需访问 src="cat.mp4"src="cat.webm" (注意没有文件夹路径?)。本地 html 文件必须访问同一位置的文件。
    • 是的,但是我的 html 文件位于另一台服务器上,我不能将它放在下载文件夹中。我还尝试通过网页内的 iframe 标记('src' 属性)引用本地(html)文件,但这也不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    相关资源
    最近更新 更多