收藏
回答

开发了微信小程序,获取摄像头时调用5倍镜头,大神们怎么解决?

开发了微信小程序,在获取后置摄像头时,系统默认调用的是5倍镜头,导致无法正常拍照,使用navigator.mediaDevices.getUserMedia()获取摄像头

大神们怎么解决?手机是mate 40pro,系统版本鸿蒙4.0.0.122


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

1 个回答

  • 微盟
    微盟
    01-26

    1. 检查支持的设备和系统

    首先,要确保在鸿蒙 4.0.0.122 版本系统上,使用 navigator.mediaDevices.getUserMedia() 应该是被支持的。如果官方文档中有特定的系统兼容性说明,建议查阅相关文档。

    2. 使用 constraints 控制摄像头参数

    通过使用媒体流获取 API 的 constraints 参数,你可以尝试指定要使用的摄像头设备,以及其他参数,例如摄像头类型、分辨率等。

    navigator.mediaDevices.getUserMedia({
      video: {
        facingMode: { exact: "environment" } // 可以尝试使用 environment 参数选择后置摄像头
        // 其他参数如 width, height 等也可以尝试进行设置
      }
    })
    .then(stream => {
      // 处理获取到的视频流
    })
    .catch(err => {
      // 处理错误
    });
    
    
    
    01-26
    有用
    回复 2
    • abner😈zhang
      abner😈zhang
      01-26
      已经获取当前设备的设备列表,无法判断主摄像头
      01-26
      回复
    • Joe
      Joe
      06-15回复abner😈zhang
      通过指定deviceId去调用可以调起吗,我测试会有概率报错DOMException,有时候可以调的起来,不知道什么原因
      06-15
      回复
登录 后发表内容