为帮助用户更好更快的使用插件,论坛维护了一个示例,示例中包含示例代码供您参考。
使用插件之前必须先在代码中申请必要权限。
//申请相机、录音、存储视频到本地权限
api.requestPermission({
    list:['camera','microphone','storage']
}, function(ret, err){
});
微信简介
zySmallVideo是一个仿微信录制小视频的插件,插件可以【点击拍照、长按录制】限制录制时间和圈的颜色,以及视频的分辨率。(请在应用打包右上角高级设置中将ios设置为8.0,android设置为4.0.3)
打开录制小视频(新) 点击拍照 长按录制
openNew({params}, callback(ret, err))
rect:
{
    x: 0,   //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
    y: 0,   //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
    w: api.frameWidth, //(可选项)数字类型;插件的宽度;默认:所属的 Window 或 Frame 的宽度
    h: api.frameWidth//(可选项)数字类型;插件的高度;默认:所属的 Window 或 Frame 的宽度
}
fixedOn:
fixed:
类型:布尔 描述:(可选项)插件是否不随所属 window 或 frame 滚动 默认值:true(不随之滚动)
videoInfo:
{
 //videoSize_w:720,//视频分辨率 宽 默认插件会自动查找最适合比例的 宽高比 若自己设置 请从 getScreenInfo的videoSizes中找比例
//videoSize_h:1280,//视频分辨率 高 默认
 setOutputFormat:2,//录制格式 默认2 mp4  0(DEFAULT) 1(THREE_GPP) 2(MPEG_4默认) 3(RAW_AMR) 4(AMR_WB) 5(AAC_ADIF) 6(AAC_ADTS) 7(OUTPUT_FORMAT_RTP_AVP) 8(OUTPUT_FORMAT_MPEG2TS) 9(WEBM)
 setVideoEncoder:2,//编码格式 默认2 h264 0(DEFAULT) 1(H263) 2(H264默认) 3(MPEG_4_SP) 4(VP8) 5(HEVC)
 setAudioEncoder:3,//音频格式应该是 默认3 aac  0(DEFAULT) 1(AMR_NB) 2(AMR_WB) 3(AAC默认) 4(HE_AAC) 5(AAC_ELD) 6(VORBIS)
}
AVAssetExportPreset:
videoColor:
MaxRecordTime:
MinRecordTime:
MinTimeText:
setFeatures:
setTip:
setBackIcon:
setBackShow:
setCameraIcon:
setCameraShow:
cameraInfo:
{
  fit_xy:false,//图片是否拉伸占满宽高  默认false
  w:120,// 摄像头宽度 默认 120
  h:120,// 摄像头高度 默认 92
  margin_l:0,//距左 默认都是0
  margin_r:35,//距右
  margin_t:45,//距上
  margin_b:0,//距下
}
foucsInfo:
{
  color:"#cd0000",//线条颜色 默认16AE16
  width:14,//线条宽度 默认4
}
recordInfo:
{
  button_radius:120,//外圆半径 默认120  在分辨率宽小于1080的手机上 会同比例缩小(下面都是一样的)  如需自己设置请适配屏幕例:api.screenWidth*120/1080   
  button_inside_radius:90,//内圆半径 默认90
  progress_color:"#cd0000",//进度条颜色 默认16AE16
  outside_color:"#DCDCDC",//外圆背景色 默认DCDCDC
  inside_color:"#FFFFFF",//内圆背景色 默认FFFFFF
  strokeWidth:15,//进度条宽度 默认15
  outside_add_size:48,//长按外圆半径变大的Size 默认48
  inside_reduce_size:30,//长按内圆缩小的Size 默认30
}
confirmInfo:
{
  fit_xy:false,//图片是否拉伸占满宽高  默认false
  img:"",//设置自定义图片
  w:220,//宽 默认200
  h:220,//高 默认200
  margin_r:170, //确认按距右
}
cancelInfo:
{
  fit_xy:false,//图片是否拉伸占满宽高  默认false
  img:"",//设置自定义图片
  w:220,//宽 默认200
  h:220,//高 默认200
  margin_l:170,//确认按距左
}
ret:
{
    status: true,//布尔型 是否成功
    type:"",//字符串;正确时返回  captureSuccess拍照成功  recordSuccess录制成功
    result: "",	//字符型;错误时返回错误提示  正确时返回缩略图 
    "url":"",	//字符型;录制视频时才返回的视频地址
    "fileSize":"3.28"	// 字符型;返回的视频大小 单位M
    "duration":3333 //视频时长 单位毫秒
}
//不写参数可直接使用 参数请查看 论坛示例代码
var zySmallVideo = api.require('zySmallVideo');
zySmallVideo.openNew({
},function(ret, err){
    api.alert({msg: JSON.stringify(ret)});
});
Android系统 IOS系统
可提供的1.0.10及更高版本 ios为1.0.14
关闭openNew (因插件依附于Frame 在安卓返回键的时候 请判断调用关闭插件)
close()
var zySmallVideo = api.require('zySmallVideo');
zySmallVideo.close();
Android,IOS系统
可提供的1.0.10及更高版本 ios为1.0.14
获取【安卓】屏幕支持预览、拍照、视频尺寸
getScreenInfo(callback(ret, err))
ret:
{
  "result":"success",
  "myScreenSize":"1080-1800",//当前可打开全屏录制的 宽高比
  "pictureSizes":[{"2592":"4608"},...],//当前点击拍照的尺寸的集合  拍照时程序会自动识别最适合的
  "previewSizes":[{"1080":"1920"},...],//当前预览画面的尺寸的集合  预览时程序会自动识别最适合的
  "videoSizes":[{"2160":"4096"},...],//当前录制视频的尺寸的集合  录制时程序会自动识别最适合的 安卓可以在videoInfo中自己设置 必须本集合存在才可设置 不然会闪退
}
zySmallVideo.getScreenInfo(function(ret, err){
  console.log(JSON.stringify(ret));
});
Android
可提供的1.0.16及更高版本
打开录制小视频
open({params}, callback(ret, err))
MaxRecordTime:
videoColor:
AVAssetExportPreset:
mVideoSizeW:
mVideoSizeH:
ret:
{
    result: "success",	//字符型;success成功  cancel取消
    "fileUrl":"",	//字符型;视频地址
    "filePic":"",	//字符型;视频缩略图
    "fileSize":"3.28"	// 字符型;返回的视频大小 单位M
    "duration":3333 //视频时长 单位毫秒
}
var zySmallVideo = api.require('zySmallVideo');
zySmallVideo.open({
    MaxRecordTime: 10,
    videoColor: api.systemType=="ios"?0xcd0000:"#cd0000",
    AVAssetExportPreset:"AVAssetExportPreset1280x720",
    mVideoSizeW:720,
    mVideoSizeH:1280
},function(ret, err){
    api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清除视频的缓存
clearCache(callback(ret))
ret:
{
    result: "success",	//字符型;success成功
}
var zySmallVideo = api.require('zySmallVideo');
zySmallVideo.clearCache(function(ret, err){
    console.log(JSON.stringify(ret));
    if(ret.result = "success"){
        api.toast({msg:'清除成功'});
    }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
得到视频的缩略图
getThumbnail({params},callback(ret))
fileUrl:
fileName:
ret:
{
    result: "success",	//字符型;success成功
    "filePic":"",	//字符型;视频缩略图
    "fileSize":"3.28"	// 字符型;返回的视频大小 单位M
}
var zySmallVideo = api.require('zySmallVideo');
zySmallVideo.getThumbnail({
    fileUrl:filePath,
    fileName:""
},function(ret, err){
    api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
