【问题标题】:Is it possible to use navigator.getDisplayMedia without user authentication?是否可以在没有用户身份验证的情况下使用 navigator.getDisplayMedia?
【发布时间】:2020-09-18 13:01:08
【问题描述】:
 navigator.mediaDevices.getDisplayMedia({
    audio: false,
    video: true
  }).then(gotMedia).catch(function(e) {
    console.log('getDisplayMedia() error: ', e);
  });

执行上述代码时,它会弹出一个提示,要求用户选择要共享的内容。能不能去掉那个弹窗,直接拿到全屏的流?

如果有人能提供同样的帮助,我会很高兴。提前致谢

【问题讨论】:

  • 一句话...安全get the stream of the whole computer...什么?流?我在我的时代已经建造了数百台计算机,但没有一台包含流(除了那次我搞砸了水冷的连接,但这更像是泄漏)
  • 添加截图并更改了小字缺陷。
  • 那么,您解决了我评论中轻浮的部分,并确定您想要做什么没有安全问题?你明白为什么这会是一件坏事吗?
  • 抱歉,无法先了解您的评论。是的,我知道存在安全问题。我仍然需要对此有明确的想法。你能详细解释一下吗。谢谢
  • 是的,但是在 getUserMedia 访问摄像头的情况下,我们提供一次身份验证,之后浏览器不会要求相同的身份验证。但是对于 getDisplayMedia 来说就不一样了。即使我们使用相同的选项卡,它也总是会询问。

标签: javascript google-chrome webrtc navigator


【解决方案1】:

对于自动化测试,可以使用 Chrome 命令行参数 --auto-select-desktop-capture-source 预选一个窗口

这个 Chrome 问题是最好的可用文档:https://bugs.chromium.org/p/chromium/issues/detail?id=459532

【讨论】:

  • Firefox 有相同的设置吗?
  • @Phillip Hancke 还有提到:Generate a preferences file with persistent perms 我们如何在 JS 中使用它?首选项:{“配置文件”:{“content_settings”:{“例外”:{“media_stream_camera”:{“https://*,”:{“设置”:1}},“media_stream_mic”:{“ https://,*": { "设置": 1 } } } } }
猜你喜欢
  • 1970-01-01
  • 2016-07-30
  • 2013-11-17
  • 1970-01-01
  • 2017-01-06
  • 2019-03-30
  • 2022-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多