zxycamera

概述

本模块已下架,请勿使用

zxycamera

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

zxycamera 插件概述

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

实例widget下载地址

插件使用攻略

插件接口

takePictureClick

调用照相功能

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

params

albumName:

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    image:      //字典类型; 相片返回信息
    {
        imagePath:"",           // 字符串;相片地址 绝对地址
        imageName:"",           // 字符串;相片名字
        imageFormat:"",         // 字符串;相片格式 格式 png
        imageRatio:"",          // 字符串;相片像素 720 x 1280
        imageFileSize:""        // 字符串;相片大小  单位 byte 
    }  
    video:""                //无视频信息返回
}

err:

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

示例代码

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

iOS支持版本8.0以上

takeVideoClick

调用录像功能

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

params

albumName:

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

voideLength:

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    image:      //字典类型; 视频封面图片返回信息
    {
        imagePath:"",           // 字符串;相片地址 绝对地址
        imageName:"",           // 字符串;相片名字
        imageFormat:"",         // 字符串;相片格式 格式 png
        imageRatio:"",          // 字符串;相片像素 720 x 1280
        imageFileSize:""        // 字符串;相片大小  单位 byte 
    }  
    video:  //字典类型; 视频返回信息
    {
        videoPath:"",           // 字符串;视频地址  绝对地址
        videoName:"",           // 字符串;视频名字
        videoFormat:"",         // 字符串;视频格式  格式mov
        videoRatio:"",          // 字符串;视频像素  720 x 1280
        videoFileSize:"",       // 字符串;视频大小  单位 byte 
        videoDuration:""        // 字符串;视频时长  单位 秒
    }
}

err:

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

示例代码

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

iOS支持版本8.0以上

takePictureAndVideoClick

调用照相和录像功能

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

params

albumName:

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

voideLength:

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    image:      //字典类型; 相片或视频封面返回信息
        {
            imagePath:"",           // 字符串;相片地址 绝对地址
            imageName:"",           // 字符串;相片名字
            imageFormat:"",         // 字符串;相片格式 格式 png
            imageRatio:"",          // 字符串;相片像素 720 x 1280
            imageFileSize:""        // 字符串;相片大小  单位 byte 
        }  
    video:  //字典类型; 视频返回信息
        {
            videoPath:"",           // 字符串;视频地址  绝对地址
            videoName:"",           // 字符串;视频名字
            videoFormat:"",         // 字符串;视频格式  格式mov
            videoRatio:"",          // 字符串;视频像素  720 x 1280
            videoFileSize:"",       // 字符串;视频大小  单位 byte 
            videoDuration:""        // 字符串;视频时长  单位 秒
        }
}

err:

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

示例代码

var camera = api.require('zxycamera');
camera.takePictureAndVideoClick ({
    albumName:'UZAPP',
    voideLength:'20'
}, function(ret, err) {
    alert(JSON.stringify(ret));
});

补充说明

当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 对象
  • 内部字段:
{
    state: 0      //数字类型;0代表视频处理成功,1代表视频处理失败。
    compressPath:""//字符串类型;视频处理后的文件路径
}

err:

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

示例代码

var zxycamera = api.require('zxycamera');
zxycamera.compressVideo({
    directories:'',
    format:'mp4',
    presetName:1
},function(ret,err){
    alert(JSON.stringify(ret));
});

可用性

iOS系统

可提供的1.0.0及更高版本

captureScreen

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

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

params

path:

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

startTime:

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

callback(ret, err)

ret:

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

err:

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

示例代码

var zxycamera = api.require('zxycamera');
zxycamera.captureScreen({
    path:'',
    startTime:0
},function(ret,err){
    alert(JSON.stringify(ret));
});

可用性

iOS系统

可提供的1.0.0及更高版本

getVideoInfo

获取视频信息

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

params

path:

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

callback(ret, err)

ret:

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

err:

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

示例代码


var zxycamera = api.require('zxycamera');
zxycamera.getVideoInfo({
    path:''
},function(ret,err){
    alert(JSON.stringify(ret));
});

可用性

iOS系统

可提供的1.0.0及更高版本

compressImg

压缩图片

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

params

path

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

compressionQuality

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

callback(ret, err)

ret

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

err:

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

示例代码


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

可用性

iOS系统

可提供的1.0.0及更高版本

getImageInfo

获取压缩图片信息

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

params

path

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

ret

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

err:

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

示例代码


var zxycamera = api.require('zxycamera');
zxycamera.getImageInfo({
    path:''
},function(ret,err){
    alert(JSON.stringify(ret));
});

可用性

iOS系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2