在谷歌中缓存下载视频离线观看,js代码
var download=function(urlInfo)
{
when(createFile(localFileName))
.then(function (fileInfo)
{
var downloaded = function (downloadInfo)
{
vueThis.cacheStatus = "downloaded";
vueThis.downloadProgress = 100;
weui.toast("Cache is done");
fileInfo.fileWriter.onwriteend = function ()
{
var mainPlayer = document.getElementById("mainPlayer");
var prevTime = mainPlayer.currentTime;
mainPlayer.src = fileInfo.fileEntry.toURL();
mainPlayer.currentTime = prevTime;
mainPlayer.play();
vueThis.cacheStatus = "playOffline";
vueThis.downloadProgress = 100;
weui.toast("Offline playing");
};
fileInfo.fileWriter.write(downloadInfo.blob);
}; vueThis.cacheStatus = "downloading";
vueThis.cacheMessage = 'Total ' + (urlInfo.size / (1024 * 2014)).toFixed(2) + 'MB';
var downloader = Downloader(vueThis.mediaUrl, urlInfo.mimeType, downloadOnProgress);
when(downloader).then(downloaded).otherwise(function (e) { console.log(e) });
});
};
function Downloader(url, mimeType, onProgressCallback)
{
var deferred = when.defer();
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
//if url is from other domains,
//Cors settings of that domain is required
//the settings is as following
//Access-Control-Allow-Origin *.youzack.com;
//Access - Control - Allow - Methods GET;
//Access - Control - Expose - Headers Content - Type, Content - Length;
xhr.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.response != null) {
var size = parseInt(this.response.byteLength);
var blob = new Blob([new Uint8Array(this.response)], {type: mimeType});
var ret = {'size' : size,'blob' : blob};
deferred.resolve(ret);
}
}
};
xhr.onprogress = function(e) {
if(onProgressCallback)
{
onProgressCallback(e);
}
};
xhr.responseType = 'arraybuffer';
xhr.send();
return deferred.promise;
};
在谷歌中缓存下载视频离线观看,js代码的更多相关文章
- html5 video标签屏蔽右键视频另存为的js代码-HTML5教程
点评:html5 video标签本身有下载功能但是在video区域内,点击右键可以将“视频另存为”下面是屏蔽右键视频另存为的js代码,有此需求的朋友不要错过 做HTML5的video标签,本身我们 ...
- 如何在 js 代码中使用 jsp 标签或 Java 代码
JSP 标签还是很方便的,比如 Struts.Spring 等提供给我们的 JSP 标签,可以用它们来获取变量或进行一些计算.比如 struts2 的 <s:url value="/a ...
- 喜迎Win10周年版,芒果TV UWP完善手机视频离线下载
喜迎Win10周年版更新,湖南卫视旗下唯一官方视频平台<芒果TV>近日向Win10商店提交了芒果TV UWP V3.1.0版,这次不仅在上一版(V3.0.0)的基础上完善了用户呼声最高的手 ...
- 不安装谷歌市场,下载谷歌市场中的APK
不安装谷歌市场,下载谷歌市场中的APK GooglePlayStore 是谷歌官方的的应用市场,有的时候还是需要从谷歌市场下载APK文件.国内的安卓手机厂商都不自带GooglePlay,甚至一些手机& ...
- IDM下载器使用方法详解:百度网盘下载,视频会员一网打尽!
一. IDM的设置 [01]IDM插件与各大浏览器的集成 默认情况下,在成功安装IDM后,直接点击这里的选项,会弹出[常规设置],一般情况下直接保持默认的配置即可,如果你使用的是比较小众的浏览器,你可 ...
- 本地缓存下载文件,download的二次封装
来源:http://ask.dcloud.net.cn/article/524 源码下载链接 说明: (1)由于平时项目中大量用到了附件下载等功能,所以就花了一个时间,把plus的downlaod进行 ...
- 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷 ...
- bilibili动画下载视频批量改名(python)
bilib应用 在微软商店中下载哔哩哔哩动画,虽然软件UI古老,但是贵在稳定和支持下载 安装以后搜索自己想要的视频,然后缓存下载 下载后进入下载的路径 视频文件重命名 打开自动命令的程序或者py脚本, ...
- 使用you-get下载视频网站视频或其他
使用you-get下载视频网站视频或其他 文/玄魂 目录 使用you-get下载视频网站视频或其他 前言 1.1 下载.安装 依赖 exe安装 pip安装 Antigen安装 Git 克隆源码 Hom ...
随机推荐
- Java基础 FileReader-FileWriter / 缓冲字符输入输出流 / 缓冲字节输入输出流 三种方式 进行文本文件的复制
易错的地方: /** 出错的地方: * 1.缓冲流儿输出时,务必:flush();不然可能输出不尽! * 2. bw缓冲字符输出流,记得这里! bw.write(b,0,len); * 3.字符流不能 ...
- PWA
附一个示例e6书写 todolist的示例,切换list的状态: //todolist示例 const toggleTodo = (id)=>{ setTodos(todos => tod ...
- JAVA遇见HTML——Servlet篇:Servlet基础
代码实现: HelloServlet package servlet; import java.io.IOException; import java.io.PrintWriter; import j ...
- Dapper+Mysql 使用LIKE模糊查询写法踩坑
LIKE '%@Title%' 会解析成'%'@Title'%' 这里用拼接也是不行的'%'+@Title+'%' 只能用MySQL函数方法拼接 public dynamic GetListByFil ...
- Java锁--公平锁
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496147.html 基本概念 本章,我们会讲解“线程获取公平锁”的原理:在讲解之前,需要了解几个基本概 ...
- vue前端项目优化策略
vue前端项目有什么优化策略? .生成打包报告.(可以发现一些问题,并进行解决)2.使用第三方库启用CDN加载3.使用Element-ui的话,按需加载组件4.使用路由懒加载 生成打包报告: .生成打 ...
- 前端面试题-HTML+CSS
引用GitHub 上 ltadpoles的前端面试 https://github.com/ltadpoles HTML部分 1. Doctype作用,HTML5 为什么只需要写<!DOCTYPE ...
- java获取windows和linux下本机ip通用方法
public InetAddress getFirstNonLoopbackAddress(boolean preferIpv4, boolean preferIPv6) throws SocketE ...
- learning express step(一)
first : create new project then install express package : npm install express --savenpm WARN saveErr ...
- numpy基础一
常用,常忘 1.随机矩阵 np.random.rand(4,3) array([[ 0.06679473, 0.71073515, 0.5694172 ], [ 0.95018143, 0.60161 ...