cameraQQ
来自于:AC模块工作室立即使用
概述
本模块封装了摄像头拍照的模块,调用 open 接口(相当于打开一个 Window),然后模块会弹出一个自带UI效果的拍照界面,在此界面,用户可切换前后摄像头,打开关闭闪关灯、确定拍照以及取消退出。本拍照模块有自动对焦功能,用户也可以手指点击某点对焦。
注意:本模块已经实现添加了长按录制小视频的功能。详情参考 open 接口及其回调函数。
截图如下:
open
打开固定 UI 的相机页面
open({params}, callback(ret))
params
save:
- 类型:JSON 对象
- 描述:(可选项)拍摄的图片保存信息
- 内部字段:
{
path: '', // 字符串类型;生成图片,或者生成的视频保存路径,要求本地路径(fs://),如:fs://camerWeibo
name: '', //字符串类型;生成图片,或者生成的视频保存的文件名
type: '' //(可选项)字符串类型;保存视频的格式,取值范围如下:
//mpeg4(默认值):后缀名为mp4格式的视频文件
//3gpp:后缀名为3gp格式的视频文件
timer:
- 类型:数字
- 描述:(可选项)视频录制倒计时计时器,单位为秒(s),也可以在录制视频过程中单击停止视频录制
- 默认值:无限大
album:
- 类型:布尔
- 描述:(可选项)拍照成功后是否将所拍图片存入系统相册
- 默认:false
animation:
- 类型:布尔
- 描述:(可选项)打开拍照页面时是否带有动画效果
- 默认:true
quality:
- 类型:字符串
- 描述:(可选项)所拍照片质量
- 默认:medium
- 取值范围:
- high:超清
- medium:高清
- low:普通
style:
- 类型:JSON对象类型
- 描述:(可选项)页面样式设置(仅android有效)
内部字段:
{
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
}
}
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
{
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){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
cancel
取消/关闭拍照页面
cancel({params})
params
animation:
- 类型:布尔
- 描述:(可选项)关闭拍照页面时是否带有动画效果
- 默认:true
示例代码
var cameraQQ = api.require('cameraQQ');
cameraQQ.cancel({
animation: true
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本