代码之家  ›  专栏  ›  技术社区  ›  Jay

自动允许使用Puppeter for Node访问网络摄像头。js公司

  •  8
  • Jay  · 技术社区  · 8 年前

    我正在设置一个测试,包括启动网络摄像头视频会话。

    到目前为止,一切正常,除了允许访问网络摄像头外,不需要任何用户交互。

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

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

    我试过木偶师的 page.on('dialog'... 但是,网络摄像头访问提示没有要求这样做。

    如果你有什么想法,请告诉我?

    1 回复  |  直到 8 年前
        1
  •  22
  •   user2080739    8 年前

    Google Chrome有一个启动选项 --use-fake-ui-for-media-stream 允许用户跳过getUserMedia的提示。 你可以用下面的木偶师来设置它。

    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()
    })()