我在base64中有很多视频。
我想要的就是在收到视频时逐步播放视频。
var fileInput = document.querySelector('input#theInputFile');//multiple
fileInput.addEventListener('change', function(e) {
var files = fileInput.files;
for (var i = 0; i < files.length; i++) {
var file = fileInput.files[i]
fileLoaded(file, 0, 102400, file.size);
};
e.preventDefault();
});
videoA=[];
function fileLoaded(file, ini, end, size) {
if (end>size){end=size}
var reader = new FileReader();
var fr = new FileReader();
fr.onloadend = function(e) {
if (e.target.readyState == FileReader.DONE) {
var piece = e.target.result;
display(piece.replace('data:video/mp4;base64,', ''));
}
};
var blob = file.slice(ini, end, file.type);
fr.readAsDataURL(blob);
var init = end;
var endt = init+end;
if (end<size){
fileLoaded(file, init, end, size);
}
}
尝试按块显示视频:
var a=0;
function display(vid, ini, end) {
videoA.push(vid);
$('#video').attr('src','data:video/mp4;base64,'+videoA[a]);
a++;
}
我知道这不是方法,但我试图搜索,任何响应都适应我正在搜索的内容。 即使我不确定是否可能。
谢谢!
修改 我试图逐个播放块,第一个播放得很好,但其余的都给出了错误: “未捕获(承诺)DOMException:无法加载,因为找不到支持的源”。 如果我可以正确地将这些块设置为base64,那对我来说就足够了
答案 0 :(得分:0)
好的,解决方案是解决从浏览器中原始上传文件创建base64片段的问题,这些文件可以由html5播放器播放
所以我提出了另一个问题。 Chunk video mp4 file into base64 pieces with javascript on browser