为帮助用户更好更快的使用插件,论坛维护了一个示例,示例中包含示例代码供您参考。
使用插件之前必须先在代码中申请必要权限。
//申请相机、录音、存储视频到本地权限
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及更高版本