Javascript navigator.mediaDevices.getUserMedia将源移到最前面

时间:2019-05-19 05:07:45

标签: javascript electron webrtc getusermedia mediadevices

我正在使用此代码,但是当它获取源代码时,总是将窗口移到最前面,这很烦人,但是我看不到这段代码中的任何选项使其移到最前面,所以不确定如何预防。

它将源移动到应用程序的前面,并将焦点放在该窗口而不是我的应用程序上,因此,每次获取源代码时,我都必须再次单击我的应用程序。

  navigator.mediaDevices.getUserMedia({
    audio: false,
    video: {
      mandatory: {
        chromeMediaSource: 'desktop',
        chromeMediaSourceId: desktop_id,
        minWidth: 2480,
        maxWidth: 2480,
        minHeight: 1440,
        maxHeight: 1440
      }
    }
  }).then(gotStream).catch(getUserMediaError);

编辑:为避免混淆,这是来自Desktop Capturer应用程序的代码,https://github.com/hokein/electron-sample-apps/tree/master/desktop-capture

1 个答案:

答案 0 :(得分:2)

这是由浏览器完成的,以寻求帮助。通常当人们想展示或分享某些东西时,例如在网络电话会议中,聚焦所选窗口并将其推到最前面是用户想要和期望的。

spec中并不需要这种行为,但是Chrome和较新版本的Firefox都可以做到这一点(也许还有其他浏览器)。

较旧版本的Firefox并没有做到这一点,这令人困惑:您选择一个窗口,然后该窗口似乎没有任何反应。这是因为Web会议站点通常不显示正在共享的内容的自视图,因为通常期望您将与直接共享的窗口进行交互,而不是盯着它的缩略图。 / p>

如果您有不希望将窗口推到最前面的用例,请考虑规格书上的filing an issue,解释用例。