zxycamera

takePictureClick takePictureAndVideoClick captureScreen compressImg

概述

zxycamera

zxycamera 是仿照微信、QQ的照相和录像一体功能。具有前置、后置、设置闪光灯功能,可预览相片和视频。

zxycamera 模块概述

本模块封装了相机功能,把照相和录像放在一个界面,通过手势分为单击照相、长按录像,使用非常简单。能够在相册中创建相册,保存相片和视频到相册中。注意相册和录像也保存到了沙盒路径中tmp目录,当应用关闭时相册和录像会被删除。如有需要请开发者自己对文件操作。视频录像为mov格式,模块中包含的视频和相片的压缩和格式处理接口,视频压缩格式仅为mp4格式。使用该模块需要把相机、相册、麦克风权限打开。

模块使用攻略

模块接口

takePictureClick

调用照相功能

takePictureClick({params}, callback(ret, err))

params

albumName:

  • 类型:字符串
  • 描述:创建系统相册的名字,建议使用app名字。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

err:

  • 类型:JSON 对象
  • 内部字段:
  1. //无返回值
  2. }

示例代码

  1. var camera = api.require('zxycamera');
  2. camera.takePictureClick({
  3. albumName:'UZAPP'
  4. },function(ret,err){
  5. alert(JSON.stringify(ret));
  6. });

iOS支持版本8.0以上

takeVideoClick

调用录像功能

takeVideoClick({params}, callback(ret, err))

params

albumName:

  • 类型:字符串
  • 描述:创建系统相册的名字,建议使用app名字。

voideLength:

  • 类型:字符串
  • 描述:录制视频最长时间,单位为秒,使用整数。
  • 默认值:10
  • 取值范围:大于0的数

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. image: //字典类型; 视频封面图片返回信息
  3. {
  4. imagePath:"", // 字符串;相片地址 绝对地址
  5. imageName:"", // 字符串;相片名字
  6. imageFormat:"", // 字符串;相片格式 格式 png
  7. imageRatio:"", // 字符串;相片像素 720 x 1280
  8. imageFileSize:"" // 字符串;相片大小 单位 byte
  9. }
  10. video: //字典类型; 视频返回信息
  11. {
  12. videoPath:"", // 字符串;视频地址 绝对地址
  13. videoName:"", // 字符串;视频名字
  14. videoFormat:"", // 字符串;视频格式 格式mov
  15. videoRatio:"", // 字符串;视频像素 720 x 1280
  16. videoFileSize:"", // 字符串;视频大小 单位 byte
  17. videoDuration:"" // 字符串;视频时长 单位 秒
  18. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. //无返回值
  3. }

示例代码

  1. var camera = api.require('zxycamera');
  2. camera.ttakeVideoClick({
  3. albumName:'UZAPP'
  4. },function(ret,err){
  5. alert(JSON.stringify(ret));
  6. });

iOS支持版本8.0以上

takePictureAndVideoClick

调用照相和录像功能

takePictureAndVideoClick({params}, callback(ret, err))

params

  • 类型:字符串
  • 描述:创建系统相册的名字,建议使用app名字。

voideLength:

  • 类型:字符串
  • 描述:录制视频最长时间,单位为秒,使用整数。
  • 默认值:10
  • 取值范围:大于0的数

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. image: //字典类型; 相片或视频封面返回信息
  3. {
  4. imagePath:"", // 字符串;相片地址 绝对地址
  5. imageName:"", // 字符串;相片名字
  6. imageRatio:"", // 字符串;相片像素 720 x 1280
  7. imageFileSize:"" // 字符串;相片大小 单位 byte
  8. }
  9. video: //字典类型; 视频返回信息
  10. {
  11. videoPath:"", // 字符串;视频地址 绝对地址
  12. videoName:"", // 字符串;视频名字
  13. videoFormat:"", // 字符串;视频格式 格式mov
  14. videoRatio:"", // 字符串;视频像素 720 x 1280
  15. videoFileSize:"", // 字符串;视频大小 单位 byte
  16. videoDuration:"" // 字符串;视频时长 单位 秒
  17. }
  18. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. //无返回值
  3. }

补充说明

当video为””时候是拍照,否则为录制视频。拍照、录制视频image里面都有属性。当为录像时,image为视频封面图片信息。

可用性

iOS支持版本8.0以上

compressVideo

视频压缩,格式转换

compressVideo(params},callback(ret, err))

params

directories:

  • 类型:字符串
  • 描述:处理视频的绝对路径

format

  • 类型:字符串
  • 描述:处理后视频的格式
  • 取值范围:
  • mp4

presetName

  • 类型:数字类型
  • 描述:处理后视频的分辨率,默认值为1
  • 取值范围:
  • 0(low,低分辨率)
  • 1(Medium,中等分辨率)
  • 2(Highest,高分辨率)
  • 3(640x360 分辨率)
  • 4(960x540 分辨率)
  • 5(1280x720 分辨率)
  • 6(1920x1080 分别率)
  • 7(3840x2160 分辨率 仅支持ios9以上)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. state: 0 //数字类型;0代表视频处理成功,1代表视频处理失败。
  3. compressPath:""//字符串类型;视频处理后的文件路径
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. //无返回值
  3. }

示例代码

  1. var zxycamera = api.require('zxycamera');
  2. zxycamera.compressVideo({
  3. directories:'',
  4. format:'mp4',
  5. presetName:1
  6. },function(ret,err){
  7. alert(JSON.stringify(ret));
  8. });

可用性

iOS系统

可提供的1.0.0及更高版本

captureScreen

截取视频任意时间点静态图

captureScreen({params}, callback(ret, err))

params

path:

  • 类型:字符串

startTime:

  • 类型:数字类型
  • 描述:(可选项)截屏时间点,数量级为秒,如0,3.5,10等。
  • 默认值:0

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. state: 0 //数字类型;0代表视频图片截取成功,1代表视频图片截取失败。
  3. imgPath:'' //字符串类型;视频图片路径
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. //无返回值
  3. }

示例代码

  1. var zxycamera = api.require('zxycamera');
  2. zxycamera.captureScreen({
  3. path:'',
  4. },function(ret,err){
  5. alert(JSON.stringify(ret));
  6. });

iOS系统

getVideoInfo

获取视频信息

getVideoInfo({params}, callback(ret, err))

params

path:

  • 类型:字符串
  • 描述:处理视频的绝对路径

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. duration: '' //字符串类型;视频总时长,以秒为单位
  3. natural:'' //字符串类型;视频分辨率
  4. fileSize:'' //字符串类型;视频大小,单位 byte
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:

示例代码

  1. var zxycamera = api.require('zxycamera');
  2. zxycamera.getVideoInfo({
  3. path:''
  4. },function(ret,err){
  5. alert(JSON.stringify(ret));
  6. });

可用性

iOS系统

可提供的1.0.0及更高版本

compressImg

压缩图片

compressImg({params}, callback(ret, err))

params

path

  • 类型:字符串
  • 描述:处理图片的绝对路径

compressionQuality

  • 类型:字符串
  • 描述:压缩图片比例。默认为1,取值在0到1之间。

callback(ret, err)

ret

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. compressPath:'' //压缩图片存放地址
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. //无返回值
  3. }

示例代码

  1. var zxycamera = api.require('zxycamera');
  2. zxycamera.compressImg({
  3. path:'',
  4. compressionQuality:1
  5. },function(ret,err){
  6. alert(JSON.stringify(ret));
  7. });

可用性

iOS系统

可提供的1.0.0及更高版本

getImageInfo

获取压缩图片信息

getImageInfo({params}, callback(ret, err))

params

path

  • 类型:字符串
  • 描述:要获取图片信息的绝对地址

ret

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. data: //数字类型;图片大小,单位 byte
  3. imageNaturalSize: //字符串类型;图片分辨率
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. //无返回值
  3. }
  1. var zxycamera = api.require('zxycamera');
  2. zxycamera.getImageInfo({
  3. path:''
  4. },function(ret,err){
  5. });

可用性

iOS系统