HTML5:从存储的二进制字符串播放视频
HTML5: Play video from stored binary string
我正在尝试使用FileReader.readAsBinaryString(Blob| file)读取视频文件的内容,如示例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,但你给它一个二进制字符串。
尝试使用btoa
将其编码为base64player.src = "data:video/webm;base64,"+btoa(evt.target.result);
FileReader.readAsDataURL(Blob|File)
呢?
在html5rocks-link中也有解释
相关文章:
- 如何播放部分音频文件
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 播放当前视频时如何停止其他视频?JavaScript
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何在爆米花中选择曲目.js使用字符串并播放
- 如何比较两个随机播放的字符串
- 在 JW 播放器开始之前不显示图像,如果 URL 包含字符串 base64
- 注入脚本以播放音频文件,如果 InnerText 与字符串不匹配
- HTML5:从存储的二进制字符串播放视频