我正在尝试使用示例http://www.html5rocks.com/en/tutorials/file/dndfiles/#toc-reading-files中所示的FileReader.readAsBinaryString(Blob|文件)将视频文件的内容作为二进制字符串读取,然后存储并播放视频。
我尝试使用下面的(一个webm视频文件),但得到一个“视频格式或MIME类型不支持”。
function readBlob (file, startByte, endByte, callback) {
console.log('readBlob():', file, startByte, endByte);
var reader = new FileReader();
reader.onloadend = function (evt) {
if (evt.target.readyState == FileReader.DONE) {
callback(evt.target.result);
var player = document.getElementById('player');
player.src = "data:video/webm;base64,"+evt.target.result;
player.load();
player.play();
}
}
var blob = file.slice(startByte, endByte);
reader.readAsBinaryString(blob);
}有没有人知道是否可以将视频文件(当前使用的浏览器支持的文件)作为二进制字符串读取并在浏览器HTML5视频播放器中播放?
提亚
发布于 2013-04-27 18:50:33
您的问题可能与player.src有关
player.src = "data:video/webm;base64,"+evt.target.result;它期望数据是base64格式的,但是您给了它一个二进制字符串。
尝试使用btoa将其编码为base64
player.src = "data:video/webm;base64,"+btoa(evt.target.result);发布于 2013-06-16 15:59:44
那FileReader.readAsDataURL(Blob|File)呢?
这在你的html5rocks-link中也有解释。
https://stackoverflow.com/questions/16251136
复制相似问题