微信小程序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(){
// 请求完成,对错都会跑到这个函数
}
})
注意 每个函数之间要用英文逗号“,”
隔开,否则会报错。
酷客网相关文章:
评论前必须登录!
注册