【问题标题】:firefox specify current window to stream with getUserMediafirefox 使用 getUserMedia 指定要流式传输的当前窗口
【发布时间】:2017-10-30 18:47:00
【问题描述】:

在 Firefox 中,我可以请求一个窗口的视频流

navigator.mediaDevices.getUserMedia({
    video: {
      mediaSource: 'window',
    },
})

这会产生一个像这样的对话框:

我只关心当前窗口。有没有办法在我对getUserMedia 的调用中指定我只想要当前选项卡(或窗口)?

【问题讨论】:

    标签: javascript firefox getusermedia


    【解决方案1】:

    我不这么认为……

    FF 在此处实现的功能尚未真正具体说明,但 w3c 正在开发一个新的 API 来处理屏幕捕获:MediaDevices.getDisplayMedia

    虽然这不是 Firefox 实现的,但本文中有一个 clear paragraph 说明为什么 deviceId 不能也不会处理此类请求:

    此 API 将每个潜在的捕获来源视为离散的媒体来源。但是,显示捕获源不得由 enumerateDevices 枚举,因为这会泄露有关主机系统的太多信息。

    因此不能使用 deviceId 约束来选择显示捕获源,因为这将允许应用程序影响选择;设置 deviceId 约束只会导致生成的 MediaStreamTrack 变得过度约束。

    因此,即使 FF 还没有实现这个 API,我们也可以假设他们在当前的实现中确实遵循同样的规则,出于同样的原因。

    然而,当这个 API 出现时,显然可以做的是使用"browser" constraint,而不是"window"。虽然规范并不清楚它到底是什么(“浏览器显示表面,或单个浏览器窗口”),但我想它会比"window" 更接近你想要的,并且有人甚至在 2 天前问过"tab" constraint,我们甚至可以希望有一个“当前标签”约束吗? 这可能需要有人在 w3c github 的页面上打开一个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      相关资源
      最近更新 更多