Android可以缓存HTML5视频,缓存清单是否脱机?

时间:2012-02-08 14:37:03

标签: android html5 video offline cache-manifest

我有一个示例,它在Chrome上缓存并在离线状态下显示视频。

当我尝试使用Android 3.2和4.x平板电脑的这个例子时,视频只能在线播放,但不能离线 - 尽管其他元素如HTML文件和背景都在线下。

<!DOCTYPE html>
<html manifest="example.appcache">
    <head>
        <title>Hello Video!</title>
        <style>
        body{ background: url('background.jpg');}
        </style>
    </head>
    <body>
        <video width="855" height="480" controls="">
            <source src="railer.mp4"/>
        </video>
    </body>
</html>

缓存清单 example.appcache 如下所示:

CACHE MANIFEST

index.html
railer.mp4
background.jpg

NETWORK:
*

有没有人设法通过缓存清单为Android浏览器设置离线视频缓存?

3 个答案:

答案 0 :(得分:2)

我尝试使用默认浏览器以及Chrome 27.0在Android 4.1.2上缓存视频(mp4格式)以及音频(mp3格式)文件,但正如您在帖子中提到的那样虽然它缓存了这些元素在离线模式下没有播放视频和音频。

答案 1 :(得分:0)

问题是HTML5 offline spec中未指定AppCache最大大小。 Various posts on the internet显示离线存储的不同配额限制。

在StackOverflow上,关于缓存最大值的问题也存在很多问题。文件大小:

我认为可以肯定的是,可用的最大配额在很大程度上取决于浏览器和平台 - 有时甚至可用于可用空间。

有一个可用的工具http://demo.agektmr.com/storage/(在此article中找到),可以检查设备上可用的最大配额。也许当您查看时,您会发现要缓存的视频的文件大小对您的设备来说太大了。

TL; DR所提到的消息来源引导我得到以下答案:(有时)可以将视频存储到有限的文件大小,具体取决于浏览器,平台和运行环境。但是不能保证它会被正确缓存(至少如果它不够小)。

答案 2 :(得分:0)

我在使用应用程序缓存或服务工作者时,如何缓存HTML5视频以供脱机使用时,我已经包含了一些examplesrc)。

存储视频以供离线使用

  1. 将视频作为阵列缓冲区获取
  2. 将数组缓冲区存储在IndexedDb
  3. 将数组缓冲区转换为blob
  4. 将blob指定给视频的来源
  5. 离线时,从IndexedDB中获取视频的来源
  6. 如果您愿意,也可以在线时从IndexedDB获取视频源。