Chrome在Android上缓存我的视频清单中列出,但不能离线播放
Chrome on Android is caching my video listed in manifest, but can't play it offline
我创建了一个离线web应用程序,它显示在远程chrome调试控制台正确缓存所有文件,并显示它是正确的离线能力。清单中列出的视频显示已下载到缓存中,但当我打开飞行模式并尝试播放时,它显示一个空视频。
如何让视频离线播放?
缓存清单CACHE MANIFEST
CACHE:
main.js
video.mp4
链接到manifest
<html manifest="cache.manifest">
有办法做到这一点吗?
由于某些原因,唯一可以播放缓存视频的移动浏览器是Android上的Firefox。然而,有一个解决方案(对于Safari iOS8+, Chrome, Firefox -我还没有测试过IE) - 他们将在objectURL中播放视频blob,即使离线!
你要做的是:
- 创建indexedDB
- 查找db
request = transaction.objectStore( "myobjectstorename" ).get( savedId )
中存储的视频 - 检查返回,如果有,移动到步骤5,否则步骤4
if ( !event.target.result ) downloadVideo()
- 运行
XMLHttpRequest
GET
请求下载视频,设置响应类型videoRequest.responseType = "blob";
- 下载后,从数据库中检索(上面的步骤2)并将其放入文档中:
CODE To Put in page as object 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 );
从这里修改代码:
http://www.misfitgeek.com/html5-off-line-storing-and-retrieving-videos-with-indexeddb/相关文章:
- JS可以在Chrome中工作,但不能在Firefox中工作
- WebRTC视频聊天可以在FF中使用,但不能在Chrome中使用
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- 三角库可以与firefox一起使用,但不能在Chrome中使用
- 如何在元素中处理鼠标事件,但不能在其子元素上处理
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- Javascript可以在chrome中使用,但不能在其他浏览器中使用
- Iframe加载调整大小在Chrome中工作,但不能在IE或Firefox中工作
- 能够在Highcharts中看到值,但不能看到图形
- Django,HTML,JS:<img src=“#">可以在HTML中工作,但不能在JS文件中工作
- jQuery/Javascript函数可以在Chrome中使用,但不能在IE11中使用
- 如何在HTML / CSS中填充垂直和滚动中间窗格(Chrome可以工作,但不能Firefox)
- “无法获取未定义或空引用的属性'getData'”在IE中,但不能在Chrome中获取
- 表格排序器可单击,但不能排序
- 可以从单击的类中获取id,但不能从单击的id中获取类
- Javascript单选按钮可以在FF和Chrome中使用,但不能在IE中使用
- 字段会动态添加到表单中,但不会提交到服务器
- 在Chrome和Firefox中正确完成远程表单,但不能在IE中完成
- 可以将addEventListener添加到播放的音频标签中,但不能设置onplay功能