uniapp能调用手机相机吗

uniapp yekong

是的,uni-app能够调用手机相机。在uni-app中,有多种方式可以调用相机进行拍照。以下是两种常用的方法:

方法一:使用uni.chooseImage

这是一种简单的方法,可以让用户选择使用相机拍照或从相册中选择图片。以下是使用uni.chooseImage方法调用相机的示例代码:

uni.chooseImage({
  count: 1, // 默认9,设置为1表示单选
  sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
  sourceType: ['camera'], // 使用相机拍照
  success: function (res) {
    console.log(res.tempFilePaths); // 拍照图片的路径
  }
});

方法二:使用plus.camera.getCamera

对于需要更多控制的场景,如自定义相机界面,可以使用HTML5+的plus.camera.getCamera方法。这需要在manifest.json中配置使用相机的权限。以下是使用plus.camera.getCamera方法调用相机的示例代码:

photo() {
  plus.camera.getCamera().captureImage(function(e) {
    plus.io.resolveLocalFileSystemURL(e, function(entry) {
      entry.file(function(file) {
        this.img = entry.toLocalURL(); // 图片的本地路径
        this.imgfile = file.name; // 图片的文件名
      });
    }, function(e) {
      console.log("读取拍照文件错误:" + e.message);
    });
  });
}

需要注意的是,plus对象是HTML5+的API,仅在支持HTML5+的环境中有效,如在DCloud的HBuilderX中运行的5+App和部分小程序平台。

总结来说,uni-app提供了灵活的方式来调用手机相机,开发者可以根据具体需求选择合适的方法。

喜欢