是否可以通过视频标签播放位于 Android WebView 上下载文件夹内的 mp4 文件?
Is it possible to play mp4 file, located inside Download folder on Android WebView via Video Tag?
我们有 Android 台设备。在该设备内部,内部闪存位于下载文件夹,该文件夹内驻留 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
文件的方法是否正确?
如果不是,代码的哪一部分不正确?
Is this correct approach to play local mp4
files in WebView?
不,您通常不能这样做(无论是否有 webView)。安全措施(在 HTML 协议中)不允许基于 Web 的应用程序从用户的硬盘驱动器(或其他存储)访问用户的文件。
用户必须通过自己选择文件来允许访问(因此在某些网站中使用 browse/select 文件 选项)。唯一的选项是:
- 将 HTML 和视频文件放到网上(从网络加载所有内容)
- 将HTML放入SD卡的下载文件夹即可使用
src="cat.mp4"
您的方法的一个附带问题引出了一个问题,如果 SD 卡上没有这些文件,网站访问者会怎样?或者更糟的是,用户甚至不使用 Android(在 Win PC 上,我的浏览器如何理解 src="file:///sdcard/Download/cat.mp4"
?)
我们有 Android 台设备。在该设备内部,内部闪存位于下载文件夹,该文件夹内驻留 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
文件的方法是否正确?
如果不是,代码的哪一部分不正确?
Is this correct approach to play local
mp4
files in WebView?
不,您通常不能这样做(无论是否有 webView)。安全措施(在 HTML 协议中)不允许基于 Web 的应用程序从用户的硬盘驱动器(或其他存储)访问用户的文件。
用户必须通过自己选择文件来允许访问(因此在某些网站中使用 browse/select 文件 选项)。唯一的选项是:
- 将 HTML 和视频文件放到网上(从网络加载所有内容)
- 将HTML放入SD卡的下载文件夹即可使用
src="cat.mp4"
您的方法的一个附带问题引出了一个问题,如果 SD 卡上没有这些文件,网站访问者会怎样?或者更糟的是,用户甚至不使用 Android(在 Win PC 上,我的浏览器如何理解 src="file:///sdcard/Download/cat.mp4"
?)