之前小沃有给大家介绍过,通过html5技术打开摄像头,并且在video标签中使用的案例。目前小沃由于案子需要,需要一台电脑中使用双摄像头,原来的方法明显无法使用到这个上面。因此小沃经过潜心研究,终于发现了如何通过html5技术选择摄像头的方法。
这里,小沃就介绍一下小沃是如何发现这个方法的。
一、认真读一下之前的核心方法navigator.mediaDevices.getUserMedia
它的官方说明文档在这里,这个方法的第一个参数是一个MediaStreamConstraints对象,其中包括我们最熟悉的{ audio: true, video: true },但是根据看文章,这里其实还可以带有其他更多参数,那么这里的参数中是否有可以区分打开不同camera的参数呢?
首先,我们打开看一下MediaStreamConstraints对象具体是个什么东西。传送门
根据文档,这个对象的参数一共有三个video、audio、peerIdentity,其中peerIdentity是一个Security参数,目前不是我们分析的重点,重点看video参数,它的类型是一个Boolean类型或是一个MediaTrackConstraints对象类型。
Boolean类型就是我们一直在使用的true,那么如果它是一个MediaTrackConstraints对象类型,是否有可能送进去更多的参数呢?当我看到这里后,开始起了这样的怀疑。
因此我有看了下MediaTrackConstraints对象的官方说明。传送门
所有的对象都有的属性
deviceId、groupId
音频对象才有的属性
autoGainContro