我正在尝试使用 XMLHttpRequest 将大型视频加载到标签中。我已经使用以下代码成功地将其用于处理小型视频文件:
window.URL = window.URL || window.webkitURL;
var xhr = new XMLHttpRequest();
xhr.open('GET', 'quicktest.mp4', true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
var video = document.createElement('video');
video.src = window.URL.createObjectURL(this.response);
video.autoplay = true;
document.body.appendChild(video);
};
xhr.send();
如果视频很小,没问题。但是,我的文件非常大,并且会产生内存不足错误,从而导致 Chrome 崩溃。Firefox 甚至都不会完成加载它。经过数小时的搜索人们建议“分块下载文件”并将它们重新组合在一起,然后再将其发送到标签后,我已经看到了两个单独的实例,我什至找到了一个非常有前途的解决方案来处理这个非常精确的设想。但是,对于实施此解决方法,我完全不知所措。如果有人能指出我正确的方向.. 需要什么来实现这个修复或任何东西,我将非常感激。
如果好奇为什么我什至费心使用 XHR 加载视频.. 我想自动播放我的大视频,但 Chrome 总是跳枪并立即开始播放,认为它可以毫无问题地播放整个内容(不可靠“canplaythrough”事件),我似乎无法找到一种方法让 Chrome 在播放之前缓冲整个视频。所以我求助于 XHR,但没有运气。