有没有办法附加到对象 URL 或以其他方式将流创建为 URL?

Is there a way to append to an object URL or otherwise create a stream as a URL?

关于 , and in some ways this question is a followup. I've also asked a similar question in the past 有一个有趣的讨论,但我觉得这是一个关于对象 URLs 的更普遍的问题。

有很多次我想在 JS 中为图像或视频元素实现“.src”的流式版本,也许是从字节流。不幸的是,我只看到两个主要的 JS 更可控的选项:

  1. 创建一个 Blob,然后使用 URL.createObjectURL()。不幸的是,这似乎是静态的 - 但也许有一种方法可以改变内容?
  2. 创建媒体源。但是,这仅适用于视频,并且比仅使用视频元素要挑剔得多,这确实是我需要的支持级别。

关于如何创建某种类型的流对象的任何想法 URL? And/or 如果没有,有人知道为什么 JS 很久很久以前没有实现这种类型的流吗?

There have been a number of times where I would like to implement a streaming version of a ".src" for image or video elements in JS, perhaps from a stream of bytes.

使用 Service Worker to respond with a Response with a ReadableStream 作为正文。

but I feel this is more generally a question about object URLs.

对象 URLs 实际上只代表不可变的 Blob。 MediaStream 对象 URL 是一种特殊情况,在这里并不真正适用,现在媒体元素存在已弃用的 API 作为 srcObject

Create a Blob and then use URL.createObjectURL(). Unfortunately, this seems to be static - but perhaps there is a way to mutate the contents?

不,Blob 是不可变的。

Create a MediaSource. However, this only works for video...

...或音频。