如何在正在运行的MediaStream上更改/添加MediaStreamTracks?

时间:2019-04-10 15:51:45

标签: javascript stream getusermedia mediastream

我希望通过根据用户选择(即麦克风选择)更改曲目来操纵正在运行的MediaStream。

在这里https://developer.mozilla.org/en-US/docs/Web/API/MediaStream/addTrack提到我们可以添加一个新轨道,但是在MediaStreamTrack api https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack中没有构造函数值,并且大多数属性都是“只读”。通过查看之前在StackOverflow上的较早的帖子,我了解到不支持添加新曲目,并且我还了解到在访问getUserMedia()并启动流时会创建曲目。

我昨晚确实读过您可以添加多个视频/音频流(但没有示例),但是我不确定如何设置以及如何循环代码的布局,即< / p>

 navigator.mediaDevices.getUserMedia 

      ({

         audio: true,
         video:
         {

            width: { min: 1280, ideal: 1920 },
            height: { min: 720, ideal: 1080 }    
         }

      })

我如何遍历像这样的格式(或者除此以外如何设置格式)以正确设置设备?仅仅保留多个视频/音频轨道是否有意义?

我也在考虑重做每个流,但这似乎浪费资源,并且如果我可以通过其他方式工作的话,这是不必要的。

所以我的问题是

  1. 在运行MediaStream期间,有哪些方法/最佳方式来更改MediaStreamTracks?

  2. 是否可以自己添加/删除曲目?看起来添加轨道是内部代码,但是对于我们可以使用这些方法感到遗憾,但是似乎我们无法使用它们。似乎removeTracks可以在MediaStream中的轨道上运行,似乎添加就是问题。

  3. 如果我们无法添加曲目,我是否可以加载所有曲目并按自己的意愿进行更改,然后删除最后不需要的所有曲目?

谢谢

0 个答案:

没有答案