Node.js 自动允许使用 Puppeteer 访问网络摄像头
Auto allow webcam access using Puppeteer for Node.js
我正在设置一个涉及启动网络摄像头视频会话的测试。
到目前为止一切正常,不需要任何用户交互,除了授予对网络摄像头的访问权限。
当我使用的第三方库进行调用时:navigator.mediaDevices.getUserMedia({audio: true, video: true})
浏览器打开一个提示,要求用户允许访问。
我正在寻找一种无需用户交互即可授予访问权限的方法。
我已经尝试过 puppeteer 的 page.on('dialog'...
,但是没有调用网络摄像头访问提示。
如果您有任何想法,请告诉我?
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()
})()
我正在设置一个涉及启动网络摄像头视频会话的测试。
到目前为止一切正常,不需要任何用户交互,除了授予对网络摄像头的访问权限。
当我使用的第三方库进行调用时:navigator.mediaDevices.getUserMedia({audio: true, video: true})
浏览器打开一个提示,要求用户允许访问。
我正在寻找一种无需用户交互即可授予访问权限的方法。
我已经尝试过 puppeteer 的 page.on('dialog'...
,但是没有调用网络摄像头访问提示。
如果您有任何想法,请告诉我?
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()
})()