cameraQQ

来自于:AC模块工作室立即使用

open cancel

概述

本模块封装了摄像头拍照的模块,调用 open 接口(相当于打开一个 Window),然后模块会弹出一个自带UI效果的拍照界面,在此界面,用户可切换前后摄像头,打开关闭闪关灯、确定拍照以及取消退出。本拍照模块有自动对焦功能,用户也可以手指点击某点对焦。

注意:本模块已经实现添加了长按录制小视频的功能。详情参考 open 接口及其回调函数。

截图如下:

cameraQQ - 图1

cameraQQ - 图2

open

打开固定 UI 的相机页面

open({params}, callback(ret))

params

save:

  • 类型:JSON 对象
  • 描述:(可选项)拍摄的图片保存信息
  • 内部字段:
  1. {
  2. path: '', // 字符串类型;生成图片,或者生成的视频保存路径,要求本地路径(fs://),如:fs://camerWeibo
  3. name: '', //字符串类型;生成图片,或者生成的视频保存的文件名
  4. type: '' //(可选项)字符串类型;保存视频的格式,取值范围如下:
  5. //mpeg4(默认值):后缀名为mp4格式的视频文件
  6. //3gpp:后缀名为3gp格式的视频文件

timer:

  • 类型:数字
  • 描述:(可选项)视频录制倒计时计时器,单位为秒(s),也可以在录制视频过程中单击停止视频录制
  • 默认值:无限大

album:

  • 类型:布尔
  • 描述:(可选项)拍照成功后是否将所拍图片存入系统相册
  • 默认:false

animation:

  • 类型:布尔
  • 描述:(可选项)打开拍照页面时是否带有动画效果
  • 默认:true

quality:

  • 类型:字符串
  • 描述:(可选项)所拍照片质量
  • 默认:medium
  • 取值范围:
    • high:超清
    • medium:高清
    • low:普通

style:

  • 类型:JSON对象类型
  • 描述:(可选项)页面样式设置(仅android有效)
  • 内部字段:

    1. {
    2. close:{ //(可选项)JSON对象类型;关闭按钮设置
    3. img:'', //(可选项)字符串类型;关闭页面图片路径,支持widget,fs路径;
    4. marginTop:, //(可选项) 数字类型;上边距 默认:10
    5. marginLeft:, //(可选项) 数字类型;左边距 默认:10
    6. height:, //(可选项) 数字类型;按钮高;默认30
    7. width:, //(可选项)数字类型;按钮宽;默认30
    8. show:, //(可选项) 布尔类型;是否显示此按钮;默认:true
    9. },
    10. flash:{ //(可选项)JSON对象类型;闪光灯按钮设置
    11. img:'', //(可选项)字符串类型;闪光灯关闭图片路径,支持widget,fs路径;
    12. imgLight:'', //(可选项) 字符串类型;闪光灯打开图片路径,支持widget,fs路径;
    13. marginTop:, //(可选项) 数字类型;上边距 默认:10
    14. marginRight:, //(可选项) 数字类型;右边距 默认:10
    15. height:, //(可选项) 数字类型;按钮高;默认30
    16. width:, //(可选项)数字类型;按钮宽;默认30
    17. show:, //(可选项) 布尔类型;是否显示此按钮;默认:true
    18. },
    19. switch:{ //(可选项)JSON对象类型;切换摄像头按钮设置
    20. img:'', //(可选项)字符串类型;切换摄像头图片路径,支持widget,fs路径;
    21. marginTop:, //(可选项) 数字类型;上边距; 默认:10
    22. marginRight:, //(可选项) 数字类型;右边距 默认:10
    23. height:, //(可选项) 数字类型;按钮高;默认30
    24. width:, //(可选项)数字类型;按钮宽;默认30
    25. show:, //(可选项) 布尔类型;是否显示此按钮;默认:true
    26. },
    27. hintText:{
    28. text:'', //(可选项) 字符串类型;提示内容;默认:‘点击拍照’
    29. textSize:, //(可选项)数字类型;文字大小;默认:20
    30. textColor:'', //(可选项)字符串类型;文字颜色,支持rgb,rgba
    31. marginBottom:, //(可选项)数字类型;距拍照按钮距离;默认:10
    32. show:, //(可选项) 布尔类型;是否显示此文字;默认:true
    33. }
    34. }

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. eventType: 'takePhoto', //字符串类型;交互事件类型,取值范围如下:
  3. // takePhoto 拍照事件
  4. // show 相机打开事件
  5. // video视频录制完成事件
  6. // close 相机关闭事件
  7. imagePath: '', // 字符串类型;所拍图片的保存的绝对路径,仅当 eventType 为 takePhoto 时有效
  8. filePath: '', //字符串类型;录像视频文件绝对路径,仅当 eventType 为 video 时有值
  9. albumPath: '' //字符串类型;保存到相册后的录像视频文件在系统相册的路径,仅当 eventType 为 video和takePhoto,且 album 为 true时有效
  10. duration: 1000, //数字类型;录像视频文件的时长,单位:毫秒,仅当eventType 为 video 时有值。
  11. duration字段返回的总时长小于等于0时说明录制的视频是无效文件,前端根据自己需求进行处理。
  12. size: 1024 //数字类型;录像视频文件的大小,单位:字节,仅当 eventType 为 video 时有值
  13. }

示例代码

  1. var cameraQQ = api.require('cameraQQ');
  2. cameraQQ.open({
  3. save: {
  4. path: 'fs://cameraQQ'
  5. name: 'photo'
  6. },
  7. album: true ,
  8. quality: 'medium'
  9. }, function(ret){
  10. alert(JSON.stringify(ret));
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancel

取消/关闭拍照页面

cancel({params})

params

animation:

  • 类型:布尔
  • 描述:(可选项)关闭拍照页面时是否带有动画效果
  • 默认:true

示例代码

  1. var cameraQQ = api.require('cameraQQ');
  2. cameraQQ.cancel({
  3. animation: true
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本