我正在尝试使用 FileReader.readAsBinaryString(Blob|File) 将视频文件的内容作为二进制字符串读取,如示例中所示http://www.html5rocks.com/en/tutorials/file/dndfiles/#toc-reading-files http://www.html5rocks.com/en/tutorials/file/dndfiles/#toc-reading-files然后存储并播放视频。
我尝试使用下面的方法(使用 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 视频播放器中播放?
TIA
您的问题可能出在player.src
player.src = "data:video/webm;base64,"+evt.target.result;
它期望数据采用 base64 格式,但您给它一个二进制字符串。
尝试使用以下命令将其编码为 base64btoa https://developer.mozilla.org/en-US/docs/DOM/window.btoa
player.src = "data:video/webm;base64,"+btoa(evt.target.result);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)