我正在开发一种工具,可以选择通过getUserMedia
和MediaStreamTrack.getSources
(如果可用)使用多个摄像头和麦克风。
我喜欢干净的代码,如果需要,可以按需获取任何捕获设备。但是,有时连续多次询问用户以允许特定的捕获设备。
为了解决这个问题,我购买了一个选定的麦克风以及所需的第一个视频设备。有点脏,但大多数用户只能以这种方式看到一个请求。
有没有更好的方法可以一次请求多个设备(例如,所有捕获设备的通配符),甚至一次请求多个相机?
对于getUserMedia
,只能同时请求一个摄像头和一个麦克风。这是规范中的限制。
然而,浏览器可以捆绑对更多设备的请求,但今天它们都没有,而且可能永远不会,因为它是一个边缘情况。
请注意,权限授予在 Chrome 中仍然存在。在 Firefox 中,最好的办法是说服用户选择"始终共享"(假设https
)。