通过 MediaSource 使用本地文件
Use local files with MediaSource
我正在尝试在 nwjs (node-webkit) 中构建一个本地视频播放器。我可以通过将本地文件的路径添加为视频元素的 src 属性来播放本地文件,但现在我想使用 MediaSource 并且可能需要 URL.createObjectUrl().
问题是我没有找到任何允许我实现此目的的文档,在我的测试期间我无法将新源作为本地文件附加到 MediaSource。我尝试了直接路径和 XHR 请求,我最接近的是文件的 XHR 请求,但我无法将 xhr.response 转换为可用于我目的的项目,例如 objecturl。
出于某种原因,每次选择新视频时直接更改 src 属性会导致内存使用量不断增加,这就是为什么我想尝试通过 MediaSource api.
由于缺乏此类信息,如果有人能提供帮助,我将不胜感激。
我能够发现如何做到这一点,首先需要有一个媒体源对象,您可以使用 URL.createObjectUrl 到 link 到 video.src,然后您在其上创建缓冲区。它是附加到通过 XMLHttpRequest 加载的媒体的缓冲区,内容类型设置为数组缓冲区。
小心处理大文件,如果你不对它们进行分段并立即加载所有内容,它会占用你的 ram 甚至使你的应用程序崩溃。
我正在尝试在 nwjs (node-webkit) 中构建一个本地视频播放器。我可以通过将本地文件的路径添加为视频元素的 src 属性来播放本地文件,但现在我想使用 MediaSource 并且可能需要 URL.createObjectUrl().
问题是我没有找到任何允许我实现此目的的文档,在我的测试期间我无法将新源作为本地文件附加到 MediaSource。我尝试了直接路径和 XHR 请求,我最接近的是文件的 XHR 请求,但我无法将 xhr.response 转换为可用于我目的的项目,例如 objecturl。
出于某种原因,每次选择新视频时直接更改 src 属性会导致内存使用量不断增加,这就是为什么我想尝试通过 MediaSource api.
由于缺乏此类信息,如果有人能提供帮助,我将不胜感激。
我能够发现如何做到这一点,首先需要有一个媒体源对象,您可以使用 URL.createObjectUrl 到 link 到 video.src,然后您在其上创建缓冲区。它是附加到通过 XMLHttpRequest 加载的媒体的缓冲区,内容类型设置为数组缓冲区。
小心处理大文件,如果你不对它们进行分段并立即加载所有内容,它会占用你的 ram 甚至使你的应用程序崩溃。