收藏
回答

公众号h5页面使用navigator.mediaDevices.getUserMedia调用摄像头?

iOS17以下微信浏览器调用navigator.mediaDevices.getUserMedia授权之后调取不了摄像头,Safari浏览器可以,Android微信浏览器也可以

部分代码如下

<video ref="video" id="video" objectFit="cover" class="video-image" :controls="false"

:show-center-play-btn="false" :autoplay="true" :loop="true" playsinline :webkit-playsinline="true"></video>

<canvas ref="canvas" :style="canvasStyle" canvas-id="myCanvas" id="myCanvas"></canvas>



init(options) {

let error = ''

try {

this.video = document.querySelector('#video').children[0].children[0]

// console.log("this.vide",this.video);

// 前置摄像头

if ('mediaDevices' in window.navigator && 'getUserMedia' in window.navigator.mediaDevices) {

// 浏览器支持

window.navigator.mediaDevices.getUserMedia({

'video': true

}).then((stream)=> {

this.video.srcObject = stream

// this.myVideo.play()

this.initTracker(options)

    // console.log('getUserMedia completed successfully.');

  })

  .catch((error)=> {

    console.log(error.name + ": " + error.message);

this.ArtificialTracker(error.message)

  });

} else {

error = '手机不支持自动获取人脸'

this.ArtificialTracker(error)


}

} catch (err) {

this.ArtificialTracker(err.message)

}

},

回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    01-29

    你好,麻烦提供下机型,微信版本号和复现链接

    01-29
    有用
    回复 11
    • 倩倩
      倩倩
      01-29
      目前测试跟机型没有关系,跟系统版本有关系,经测试主要是iOS17以下的,能复现的是苹果13系统版本iOS16.3.1,微信版本8.0.45,复现链接:https://zzwe.foxconn.com/#/pages/public/goNavigation
      01-29
      回复
    • 倩倩
      倩倩
      01-29
      你好,你们复现了没?
      01-29
      回复
    • 社区技术运营专员--许涛
      社区技术运营专员--许涛
      02-01回复倩倩
      出问题的时候这个track没有回调到。请问能不能提供不混淆的case,混淆下无法确定是tracking.js的问题还是微信的问题
      02-01
      回复
    • 倩倩
      倩倩
      02-20
      现在的问题是摄像头没有调用到,按理说走到这一步的时候,摄像头应该已经调用起来了,目前是摄像头黑屏
      02-20
      回复
    • 倩倩
      倩倩
      02-20
      需要我给你提供一下源码吗?
      02-20
      回复
    查看更多(6)
  • ( ̄へ ̄)
    ( ̄へ ̄)
    03-06

    你好,你是怎么调起前置摄像头的。

    03-06
    有用
    回复 1
    • 倩倩
      倩倩
      03-06
      03-06
      回复
登录 后发表内容