首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android上的Chrome正在缓存清单中列出的视频,但不能脱机播放

Android上的Chrome正在缓存清单中列出的视频,但不能脱机播放
EN

Stack Overflow用户
提问于 2015-09-17 07:00:22
回答 1查看 670关注 0票数 0

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

如何让视频离线播放?

Cache报表

代码语言:javascript
复制
CACHE MANIFEST

CACHE:
main.js
video.mp4

指向清单的HTML链接

代码语言:javascript
复制
<html manifest="cache.manifest">

有办法这样做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-17 20:27:40

出于某种原因,唯一能播放缓存视频的移动浏览器是Android上的Firefox。然而,有一个解决方案(对于Safari iOS8+、Chrome、Firefox --我还没有测试IE) --将在objectURL中甚至脱机地播放一个视频点滴!

你要做的是:

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

作为对象url放入页面的代码:

代码语言:javascript
复制
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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32624295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档