【问题标题】:Auto allow webcam access using Puppeteer for Node.js使用 Puppeteer for Node.js 自动允许网络摄像头访问
【发布时间】:2018-01-15 14:00:14
【问题描述】:

我正在设置一个涉及启动网络摄像头视频会话的测试。

到目前为止,一切正常,除了授予对网络摄像头的访问权限外,不需要任何用户交互。

当我使用的第三方库拨打电话时:navigator.mediaDevices.getUserMedia({audio: true, video: true}) 浏览器会打开一个提示,要求用户允许访问。

我正在寻找一种无需用户交互即可授予访问权限的方法。

我已经尝试过 puppeteer 的 page.on('dialog'...,但它不会被调用以获取网络摄像头访问提示。

如果您有任何想法,请告诉我?

【问题讨论】:

  • 这里怀疑有安全块。不确定是否有任何浏览器允许在没有用户交互的情况下访问网络摄像头

标签: node.js permissions webcam puppeteer


【解决方案1】:

Google Chrome 有一个启动选项--use-fake-ui-for-media-stream,允许用户跳过 getUserMedia 的提示。 你可以像下面这样用 puppeteer 设置它。

const puppeteer = require('puppeteer')
;(async () => {
    const browser = await puppeteer.launch({
        args: [ '--use-fake-ui-for-media-stream' ]
    })
    const page = await browser.newPage()
    await page.goto('http://localhost/start-video-test.html')
    const startVideoButton = await page.$('#startVideoButton')
    startVideoButton.click()
    // video session starts without prompt
    return browser.close()
})()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多