在Android WebView中使用HTML5的video标签播放本地视频

因为毕设需要,这段时间就一直在做基于HTML5 video定制的播放器,因为开发和测试过程也一直都是配合Nexus7的Chrome进行测试,所以本以为Android上应该会是最为顺利没有问题的,但是在经过PhoneGap封装测试时,发现在iOS上完全正常,但是在Android上反而没办法播放了。

问题出现在用Android的Webview在播放应用assets中视频的时候,但我尝试把视频地址改为互联网地址的时候就正常了。

经过反复测试,发现使用HTML5访问应用资源目录的时候会存在Android权限限制的问题,不过访问sdcard是能够正常使用的,也就是地址是:file://sdcard/ 下的就可以正常使用了。(对于远程文件下载到本地后播放直接下载到sdcard自己的目录即可;如果原先视频文件已经在assets目录的,则可以在启动WebView前复制到sdcard)

上述测试的环境为 Nexus 7 (with Android 4.4.2) / Android 4.4 SDK

PS:

网络上还有说HTML5播放视频需要在AndroidManifest.xml开启硬件加速

<application android:hardwareAccelerated="true"

我用PhoneGap的时候默认生成的就已经是开启的了,就没作另外的测试。