微信小程序camera相机组件

微信小程序camera相机组件

camera调用的是手机自带的相机,并且此组件在第一次调用的时候,需要用户授权允许之后才可以使用,否则会调用失败。一个页面中只能插入一个camera组件。camera属性如表所示:
微信小程序camera相机组件

注意 在mode为“scanCode”时,不能进行拍照,只能进行二维码扫描,在mode为“normal”时,“bindscancode”事件不会触发。

微信小程序对组件和API进行了严格的划分,例如camera组件只是打开相机的组件,而要进行拍照等,还需要相应的API调用才可以进行。如果不在页面中使用camera组件而直接调用相应的API是不可以的,因为获取不到对应的上下文。

在JavaScript文件中需要获取到相机上下文才能进行相机API的操作,获取相机上下文的代码为“wx.createCameraContext”

拍照API代码如下:

        // Camera.js文件
        CameraContext.takePhoto({
          // 成像质量参数:high:高质量。normal:普通质量(默认值)。low:低质量。
          quality: 'high',
          success: function(res){
            // 成功
                //res. tempImagePath 为图片临时地址
          },
          fail: function(err){
            // 失败 err为失败原因
          },
          complete: function(){
            // 请求完成,对错都会跑到这个函数
          }
        })

录像开始API代码如下:

        // Camera.js文件
        CameraContext.startRecord({
          timeoutCallback: function(res){
            // 超过30s或页面onHide时会结束录像跑到这个函数
              //res.tempThumbPath 为封面图片临时路径
              //res.tempVideoPath 为视频文件临时路径
            }
            success: function(res){
              // 成功 调用成功
            },
            fail: function(err){
              // 失败 err为失败原因
            },
            complete: function(){
              // 请求完成,对错都会跑到这个函数
            }
          })

录像结束API代码如下:

      // Camera.js文件
      CameraContext.stopRecord({
        success: function(res){
          // 成功结束录像
          //res.tempThumbPath 为封面图片临时路径
          //res.tempVideoPath 为视频文件临时路径
        },
        fail: function(err){
          // 失败 err为失败原因
        },
        complete: function(){
          // 请求完成,对错都会跑到这个函数
        }
      })

注意 每个函数之间要用英文逗号“,”隔开,否则会报错。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!