javascript - 内存中 blob 的 createObjectURL 无法在 videoJS 中设置源
问题描述
我fetch
用来下载 mp4 文件并使用工作人员将结果保存在 blob 对象中。像这样的东西:
fetch('http://techslides.com/demos/sample-videos/small.mp4')
.then(function(response){
response.blob().then(function(blob) {
self.postMessage(blob);
});
})
在主线程中,我得到了 blob,当我打印它时,它显示在控制台中:
Blob {大小:383631,类型:“video/mp4”}
然后我想,视频下载得很好。
在主线程中,我播放了一个视频,当它结束时,我想更改源以使用blob I have in memory
:(在代码中,adBlob
是工作人员返回的 blob)
videojs("video").ready(function(){
this.on('ended', function() {
if (adBlob) {
this.pause();
this.src({
type: "video/mp4",
src: URL.createObjectURL(adBlob)
});
this.load();
this.play();
}
});
this.play();
});
它不起作用,我一直在阅读可能是为了获得权限,但这种情况应该是针对 local 的files
。我不是在尝试使用文件。在我的情况下,blob 仅在内存中。
有任何想法吗?谢谢
解决方案
推荐阅读
- c++ - Qt 调试提要不断发送垃圾邮件换行符
- image - 如何将图像源设置为 Xamarin 中的文件以外的其他内容?
- android - 由于重量android studio,Scrollview不滚动
- apache-spark - 如何在时间戳上对 cassandra 表进行分区?
- django - 迭代模板中按名称选择的字段
- apache-spark - 当火花容器上发生 OutOfMemory 错误时会发生什么
- android - 我已经解决了如何显示前三名的分数,但不显示前三名球员的姓名
- ruby-on-rails - URI::InvalidURIError - 仅当目录存储在 Dropbox 文件夹中时
- python - 获取一个列表并将其转换为字符串列表?
- c++ - 从命令 lne 到 c 代码的 Gstreamer 管道