将本地文件与MediaSource一起使用

时间:2016-04-27 22:22:20

标签: javascript html5 node-webkit

我正在尝试在nwjs(node-webkit)中构建本地视频播放器。我可以通过添加路径作为视频元素的src属性来播放本地文件,但现在我想使用MediaSource,并且可能需要使用URL.createObjectUrl()。

问题是我没有找到任何允许我实现此目的的文档,在我的测试期间,我无法将新的源附加到MediaSource作为本地文件。我尝试了直接路径和XHR请求,我最接近的是文件的XHR请求,但是我无法将xhr.response转换为可用的项目,例如objecturl。

出于某种原因,每次选择新视频时直接更改src属性会导致内存使用量不断增长,这就是我想通过MediaSource api尝试这样做的原因。

由于缺乏此类信息,如果有人能提供帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我能够发现如何做到这一点,首先需要一个mediasource对象,使用它来使用URL.createObjectUrl链接到video.src,然后在其上创建一个缓冲区。它是附加在媒体上的缓冲区,通过XMLHttpRequest加载,Content-type设置为arraybuffer。

小心使用大文件,如果你不对它们进行分段并立即加载所有内容,它会占用你的内存,甚至会使你的应用程序崩溃。