UIQiniuShortVideo 采用带有UI界面的方案,封装了七牛的短视频 SDK ,提供了包括美颜、滤镜、水印、断点录制、分段回删、视频编辑、混音特效、MV 特效、本地/云端存储在内的多种功能。
iOS授权
七牛短视频 SDK需授权方可使用,开发者需要自己从七牛官方获取短视频 SDK,然后将短视频 SDK打包成一个附加自定义插件上传 YonBuilder移动开发 平台。制作方法如下:下载 UIQiniuShortVideoAppendix 插件 zip 包并解压,把 zip 包内 target 目录下的 PLShortVideoKit.framework 文件替换为自己从七牛官方获取的短视频 SDK。然后重新压缩为 zip 包文件上传自定义插件,应用打包时勾选该插件。
android SDK授权
由于七牛短视频SDK是付费项目,未经授权的app录制时会提示“无法录制视频”,需要联系七牛商务进行授权(注意:1.0.4之后需要七牛官方授权)
使用此插件贴图功能之前需先配置 config.xml 文件,方法如下
<feature name="UIQiniuShortVideo">
<param name="iOSAppKey" value="25662805"/>
<!-- 插件版本1.0.4之后不需要该参数 --!>
<param name="androidLicense" value="25662805"/>
</feature>
android编译及注意事项
打开短视频界面。 注意:如果要将视频上传至七牛云,需要配置appKey,uploadToken,domain 参数
open({params})
token:
appKey:
uploadToken:
uploadKey:
domain:
storageDir:
cacheDir:
cameraPreviewSetting:
{
previewSizeRatioPos:0, // 数字类型;预览窗口比例
previewSizeLevelPos:1 // 数字类型;预览窗口大小
}
encodeVideoSetting:
{
encodingSizeLevelPos:0, // 数字类型;视频编码大小
encodingBitrateLevelPos:1 // 数字类型;编码比特率
}
previewSizeRatioPos 取值如下:
previewSizeLevelPos 取值如下:
encodingSizeLevelPos 取值如下:
encodingBitrateLevelPos 取值如下:
ret:
{
status:, // 布尔类型;上传是否成功
msg:'', // 字符串类型;上传失败的错误信息
path:'', // 字符串类型;保存在七牛云的存储路径
firstFrameImgPath:'' ,// 字符串类型;视频首帧图片路径
key:'', //
hash:'', //
ext:'', //字符串类型;首帧图片的格式
imageWidth:'', //数字类型;首帧图片的宽
imageHeight:'', //数字类型;首帧图片的高
fileSize:'', //数字类型;首帧图片的内存大小
}
var UIQiniuShortVideo = api.require('UIQiniuShortVideo');
UIQiniuShortVideo.open({
token : ''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清除保存在本地的所有视频文件。
clearCache()
var UIQiniuShortVideo = api.require('UIQiniuShortVideo');
UIQiniuShortVideo.clearCache();
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭录制页面
close()
ret:
{
status:, //布尔类型;关闭是否成功
}
var UIQiniuShortVideo = api.require('UIQiniuShortVideo');
UIQiniuShortVideo.close();
iOS系统,Android系统
可提供的1.0.0及更高版本
制作GIF图
makeGif()
videoPath:
startTimes:
endTimes:
pictureCount:
outputWidth:
outputHeight:
gifFps:
isLoop:
savePath:
ret:
{
eventType:'success',// 字符串;回调事件
errorCode:0, // 数字;错误码(仅在eventType为failed时回调)
progress:0.5 // 数字;生成进度(仅在eventType为progress时回调) (仅支持安卓)
path:'' //字符串类型;生成的gif图的路径 (仅支持iOS)
}
var UIQiniuShortVideo = api.require('UIQiniuShortVideo');
UIQiniuShortVideo.makeGif({
videoPath:'',
startTimes:,
endTimes:,
pictureCount:,
outputWidth:,
outputHeight:,
gifFps:,
isLoop:,
savePath:''
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本