首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5:播放存储的二进制字符串中的视频

HTML5:播放存储的二进制字符串中的视频
EN

Stack Overflow用户
提问于 2013-04-27 18:44:30
回答 2查看 15.8K关注 0票数 5

我正在尝试使用示例http://www.html5rocks.com/en/tutorials/file/dndfiles/#toc-reading-files中所示的FileReader.readAsBinaryString(Blob|文件)将视频文件的内容作为二进制字符串读取,然后存储并播放视频。

我尝试使用下面的(一个webm视频文件),但得到一个“视频格式或MIME类型不支持”。

代码语言:javascript
复制
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视频播放器中播放?

提亚

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-27 18:50:33

您的问题可能与player.src有关

代码语言:javascript
复制
player.src = "data:video/webm;base64,"+evt.target.result;

它期望数据是base64格式的,但是您给了它一个二进制字符串。

尝试使用btoa将其编码为base64

代码语言:javascript
复制
player.src = "data:video/webm;base64,"+btoa(evt.target.result);
票数 9
EN

Stack Overflow用户

发布于 2013-06-16 15:59:44

FileReader.readAsDataURL(Blob|File)呢?

这在你的html5rocks-link中也有解释。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16251136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档