Cordova Android本地视频播放用于工作;现在没有

时间:2016-09-23 07:20:47

标签: android html5 cordova html5-video

我有一个Cordova应用程序,它将视频文件下载到本地存储,然后使用HTML <video>标记播放它。这在适用于Cordova版本3.7.1的iOS和Android上运行良好。我最近将Cordova更新到最新版本(6.3.1),现在视频无法在Android上播放。 iOS工作正常。

视频文件已保存到file:///storage/emulated/0/Android/data/org.my.package/foobar.mp4;使用ADB,我可以看到文件被正确保存(使用FileTransfer)到该位置。文件大小正确,权限是用户和组可读的。

视频似乎根本没有加载; v.src为空,v.durationNaNv.networkState为3(NETWORK_NO_SOURCE

视频元素

<video id="video" playsinline="1" webkit-plays-inline="1" poster preload="metadata">
    <source id="source" type="video/mp4" 
      src="file:///storage/emulated/0/Android/data/org.my.package/foobar.mp4">
</video>

自从将Cordova升级到6.3.1后,我还没有改变HTML或Javascript。

1 个答案:

答案 0 :(得分:1)

(删除了之前的错误答案。)

我认为问题实际上是Crosswalk插件。添加或删除插件只有在删除平台并再次添加后才会生效,所以我没有怀疑。

具体来说,我打开了Crosswork选项--enable-unified-media-pipeline以试图帮助我解决另一个问题(设置视频播放速度的能力)。删除该选项使其再次起作用。这是违反直觉的,因为通常建议您启用此选项以修复视频问题。