语法

  1. navigator.mediaDevices.getUserMedia(constraints)
  2. //constraints代表了一些约束参数,表示请求的媒体类型,audio或者video

这个api返回一个promise对象,如果用户同意使用而且满足constraints的要求,那么会返回一个resolved的promise,并且会传入一个MediaStream参数。如果出现了什么错误,会传入错误信息,可以使用catch来捕获错误并且处理。错误可以参见
https://developer.mozilla.org/zh-CN/docs/Web/API/MediaDevices/getUserMedia

constraints

一般会这么写

const constraints = {
  audio:true;
  video:{
      width:{min:1024,ideal:1280,max:1920},//表示宽的像素参数,ideal表示理想值,浏览器会优先寻找理想值
      height: { min: 776, ideal: 720, max: 1080 }//还有exact,指min=max
      }
}

当然限制的对象也不一定都是数值

{ audio: true, video: { facingMode: "user" } }//优先使用前置摄像头
{ audio: true, video: { facingMode: { exact: "environment" } } }//强制使用后置摄像头