我正在使用模块(BinaryJS)将存储在服务器中的视频传递给浏览器(客户端)。
我的目标是不是整个视频,而是一部分。
我尝试的是
//Creating the client
var client = new BinaryClient('ws://localhost:9000/binary-endpoint')
//Inserting the video element in the body
var video = document.createElement("video");
document.body.appendChild(video);
//Array where the arrayBuffers will be stored
var parts = [];
client.on('stream', function(stream,meta){
stream.on('data',function(data){
parts.push(data);
});
stream.on('end',function(){
video.src = (window.URL||window.webkitURL).createObjectURL(new Blob(parts.slice(0,500)));
$('video')[0].play();
$('video')[0].controls=true;
})
});
请注意,为了达到目标,我只为Blob
构造函数提供了一部分已接收数据(parts.slice(0,500)
)。
上述代码不起作用,除非我向Blob
提供了整个收到的数据 - new Blob(parts)
。
此问题的解决方法是什么?
我感谢任何帮助。