本插件封装了摄像头拍照的插件,调用 open 接口(相当于打开一个 Window),然后插件会弹出一个自带UI效果的拍照界面,在此界面,用户可切换前后摄像头,打开关闭闪关灯、确定拍照以及取消退出。本拍照插件有自动对焦功能,用户也可以手指点击某点对焦。
注意:本插件已经实现添加了长按录制小视频的功能。详情参考 open 接口及其回调函数。
截图如下:
打开固定 UI 的相机页面
open({params}, callback(ret))
save:
{
path: '', // 字符串类型;生成图片,或者生成的视频保存路径,要求本地路径(fs://),如:fs://camerWeibo
name: '', //字符串类型;生成图片,或者生成的视频保存的文件名
type: '' //(可选项)字符串类型;保存视频的格式,取值范围如下:
//mpeg4(默认值):后缀名为mp4格式的视频文件
//3gpp:后缀名为3gp格式的视频文件
timer:
album:
animation:
quality:
style:
{
close:{ //(可选项)JSON对象类型;关闭按钮设置
img:'', //(可选项)字符串类型;关闭页面图片路径,支持widget,fs路径;
marginTop:, //(可选项) 数字类型;上边距 默认:10
marginLeft:, //(可选项) 数字类型;左边距 默认:10
height:, //(可选项) 数字类型;按钮高;默认30
width:, //(可选项)数字类型;按钮宽;默认30
show:, //(可选项) 布尔类型;是否显示此按钮;默认:true
},
flash:{ //(可选项)JSON对象类型;闪光灯按钮设置
img:'', //(可选项)字符串类型;闪光灯关闭图片路径,支持widget,fs路径;
imgLight:'', //(可选项) 字符串类型;闪光灯打开图片路径,支持widget,fs路径;
marginTop:, //(可选项) 数字类型;上边距 默认:10
marginRight:, //(可选项) 数字类型;右边距 默认:10
height:, //(可选项) 数字类型;按钮高;默认30
width:, //(可选项)数字类型;按钮宽;默认30
show:, //(可选项) 布尔类型;是否显示此按钮;默认:true
},
switch:{ //(可选项)JSON对象类型;切换摄像头按钮设置
img:'', //(可选项)字符串类型;切换摄像头图片路径,支持widget,fs路径;
marginTop:, //(可选项) 数字类型;上边距; 默认:10
marginRight:, //(可选项) 数字类型;右边距 默认:10
height:, //(可选项) 数字类型;按钮高;默认30
width:, //(可选项)数字类型;按钮宽;默认30
show:, //(可选项) 布尔类型;是否显示此按钮;默认:true
},
hintText:{
text:'', //(可选项) 字符串类型;提示内容;默认:‘点击拍照’
textSize:, //(可选项)数字类型;文字大小;默认:20
textColor:'', //(可选项)字符串类型;文字颜色,支持rgb,rgba
marginBottom:, //(可选项)数字类型;距拍照按钮距离;默认:10
show:, //(可选项) 布尔类型;是否显示此文字;默认:true
}
}
ret:
{
eventType: 'takePhoto', //字符串类型;交互事件类型,取值范围如下:
// takePhoto 拍照事件
// show 相机打开事件
// video视频录制完成事件
// close 相机关闭事件
imagePath: '', // 字符串类型;所拍图片的保存的绝对路径,仅当 eventType 为 takePhoto 时有效
filePath: '', //字符串类型;录像视频文件绝对路径,仅当 eventType 为 video 时有值
albumPath: '' //字符串类型;保存到相册后的录像视频文件在系统相册的路径,仅当 eventType 为 video和takePhoto,且 album 为 true时有效
duration: 1000, //数字类型;录像视频文件的时长,单位:毫秒,仅当eventType 为 video 时有值。
duration字段返回的总时长小于等于0时说明录制的视频是无效文件,前端根据自己需求进行处理。
size: 1024 //数字类型;录像视频文件的大小,单位:字节,仅当 eventType 为 video 时有值
}
var cameraQQ = api.require('cameraQQ');
cameraQQ.open({
save: {
path: 'fs://cameraQQ'
name: 'photo'
},
album: true ,
quality: 'medium'
}, function(ret){
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
取消/关闭拍照页面
cancel({params})
animation:
var cameraQQ = api.require('cameraQQ');
cameraQQ.cancel({
animation: true
});
iOS系统,Android系统
可提供的1.0.0及更高版本