javascript中如何解决浏览器调用摄像头问题

这篇文章给大家分享的是有关javascript中如何解决浏览器调用摄像头问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

  浏览器调用摄像头使用到了webrtc

  if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia){

  navigator.mediaDevices.getUserMedia({

  'audio':true,

  'video':{facingMode:'user'}//facingMode:{exact:"environment"}调用后置摄像头

  }).then(function(mediaStream){

  getVideoStream(mediaStream)

  }).catch(function(error){

  console.log(error);

  parent.layer.msg('检测到权限被禁用,请刷新页面重试',{

  area:['20%','8%'],

  offset:['46%','40%'],

  });

  })

  }elseif(navigator.getUserMedia){

  navigator.getUserMedia({

  'video':true,

  'audio':true

  },getVideoStream)

  }else{

  parent.layer.msg('该浏览器暂不支持调用摄像头',{

  area:['20%','8%'],

  offset:['46%','40%'],

  });

  }

  浏览器调用摄像头怎么做

  但我在华为Android机上测试,用的也是chrome浏览器,但是调用的却是前置摄像头。

  难道说Android和win10的前后置摄像头是相反的?

  我将{facingMode:'user'}改成facingMode:{exact:"environment"}(标准上是调用的后置摄像头,在平板上实际上是前置)

  chrome下弹出检测到权限被禁用的提示(这是我layer的效果),实际报错是OverconstrainedError,百度一下,全是说一些不要限制width、height之类什么的,但我也没设置这些玩意儿啊。。

  而当我在Edge浏览器上测试的时候,却一切都是正常的,{facingMode:'user'}调用的还是前置,facingMode:{exact:"environment"}调用的是后置,和Android一样,这也排除了Android和win10的前后置摄像头是相反的这个结论!!!

感谢各位的阅读!关于“javascript中如何解决浏览器调用摄像头问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!