Javascript Android上的Chrome正在缓存清单中列出的我的视频,但无法脱机播放

Javascript Android上的Chrome正在缓存清单中列出的我的视频,但无法脱机播放,javascript,html,html5-video,html5-appcache,offline-web-app,Javascript,Html,Html5 Video,Html5 Appcache,Offline Web App,我已经创建了一个离线web应用程序,它在远程chrome调试控制台中显示为正确缓存所有文件,并显示它能够正确离线。清单中列出的视频显示为下载到缓存中,但当我打开飞行模式并尝试播放时,显示的是一个空视频 如何获得脱机播放的视频 缓存清单 CACHE MANIFEST CACHE: main.js video.mp4 到清单的HTML链接 <html manifest="cache.manifest"> 有什么方法可以做到这一点吗?出于某种原因,唯一可以播放缓存视频的移动浏览器是A

我已经创建了一个离线web应用程序,它在远程chrome调试控制台中显示为正确缓存所有文件,并显示它能够正确离线。清单中列出的视频显示为下载到缓存中,但当我打开飞行模式并尝试播放时,显示的是一个空视频

如何获得脱机播放的视频

缓存清单

CACHE MANIFEST

CACHE:
main.js
video.mp4
到清单的HTML链接

<html manifest="cache.manifest">

有什么方法可以做到这一点吗?

出于某种原因,唯一可以播放缓存视频的移动浏览器是Android上的Firefox。然而,Safari iOS8+、Chrome、Firefox有一个解决方案——我还没有测试IE——他们甚至可以离线在objectURL中播放视频块

你要做的是:

创建一个indexedDB 在db request=transaction.objectStore myobjectstorename.get savedId中查找存储的视频 检查返回,如果有,移动到步骤5,否则如果有,移动到步骤4!event.target.result下载视频 通过运行XMLHttpRequest GET请求下载视频,并设置响应类型videoRequest.responseType=blob; 下载后,从上面的数据库步骤2中检索并将其放入文档中: 要作为对象url放入页面的代码:

var URL = window.URL || window.webkitURL;

//Make into a data URL
var videoURL = URL.createObjectURL( videoFile) ;

//Set video src to ObjectURL
document.getElementById( id ).setAttribute( "src", videoURL );
从这里修改代码:


Blob视频播放在Android@artema上的Chrome中不起作用,如果我先将其存储在indexeddb中,它对我起作用。