getUserMedia 用户请求一次提供更多设备

getUserMedia user request provide more devices at once

我正在开发一种工具,如果可用,可以通过 getUserMediaMediaStreamTrack.getSources 选择使用多个摄像头和麦克风。

我喜欢干净的代码,如果需要,可以按需获取任何捕获设备。但是,有时会连续多次询问用户是否允许使用特定的捕获设备。

为了解决这个问题,我购买了选定的麦克风以及所需的第一个视频设备。有点脏,但大多数用户只看到一个这样的请求。

有没有更好的方法来一次请求多于一台设备(例如,所有捕获设备的通配符),甚至一次请求多于一台相机?

使用getUserMedia只能同时请求一个摄像头和一个麦克风。这是规范中的限制。

然而,浏览器可以捆绑对更多设备的请求,但 none 今天这样做,而且可能永远不会,因为它是这样一个 edge-case。

请注意 permission-grants 坚持 Chrome。在 Firefox 中,最好的办法是说服用户选择 "Always Share"(假设 https)。