如何在不直接传递的情况下从另一个构造 MediaStream?

问题描述

编辑:

我真的没有想法和解决方案了。以下是我尝试过的事情:

  1. 为流设置一个变量。失败,因为 window.whatever 引用了扩展程序的窗口!

  2. 后台脚本运行函数并传递流以设置变量。失败,因为当我尝试时,我需要将流放入 JSON 中,但这不起作用。

  3. 分派一个自定义事件,其中包含流的详细信息。失败,因为当我尝试将它们添加到详细信息时,详细信息突然变为 null。它适用于普通字符串或其他类似的东西。

我不知道如何做更多的事情,而且这比我想象的要困难。


如何在不直接传递的情况下从另一个构建 MediaStream?例如,如果我可以通过使用 di 来做到这一点,我的 id 是 abcdefghijklmnopqrstuvwxyz0123456789,那么我将能够获得 MediaStream:

var mystream=MediaStream("abcdefghijklmnopqrstuvwxyz0123456789");

当然我做错了什么,但是如何从一个预先存在的 MediaStream 构造一个 MediaStream,而不直接传递前一个

说明:

我有一个浏览器扩展程序。它选取一个 MediaStream 并将其存储在一个变量中。另一个页面将需要该变量,以便它可以自己显示实时流。为此,我将需要该变量中的 MediaSream。我已经了解到 MediaStreams 不能存储在 JSON 中,所以我不能把它放在 localStorage 中。如何将此 MediaStream 传递到网页而不直接传递它(因为这是不可能的)?

MDN says

构造函数

MediaStream()

创建并返回一个新的 MediaStream 对象。您可以创建一个空流、一个基于现有流的流,或者一个包含指定轨道列表(指定为 MediaStreamTrack 对象数组)的流。 >

大胆的我的,来自 MDN 的链接

如粗体所示,我们可以从预先存在的 MediaStream 创建一个。这确实有效:

// stream preexists as a MediaStream

var newstream=MediaStream(stream); // makes a new MediaStream with a new id

但我想从预先存在的 MediaStream 流式传输媒体。如何将 MediaStream 从扩展程序传递到页面

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)