更新记录
1.8.20(2021-08-09)
- 添加美颜控制开关;
1.8.19(2021-05-20)
- 修复iOS部分版本打包封面不显示问题;
1.8.18(2021-05-18)
- 修复iOS云打包失败问题;
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 10.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | 适用版本区间:9 - 14 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
自研短视频SDK(ios版本已在进行中,不过ios版本与android版本区别很大,但正常拍摄和BGM都会有,购买请慎重)不依赖第三方短视频sdk,无其他授权费用,自有线上产品使用,购买前请务必试用,满意后再购买,功能持续增加(欢迎大家提出建议;每次发布根据改动情况加价至少50元,以保证前期购买者最大优惠和开发者继续开发动力)
1. iOS版本使用说明
本组件为nvue组件,必须在nvue页面!主要功能是视频拍摄、视频添加背景音乐
2. 使用方法
<videoEdit ref="videoEditRefs" :params="params" @finish="finish" ></videoEdit>
import videoEdit from '@/components/videoEdit/index'
components: { videoEdit }
3. 传递参数params(Object)
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
ptdata | String | 透传参数传啥返啥,业务需要就写上 | |
serverUrl | String | 服务器地址,现应用于音乐服务器 | |
token | String | 接口token,现用于自己音乐服务器交互,根据自己音乐接口处理;没有传空值 | |
maxDuration | number | 60 | 最长拍摄时间(秒) |
minDuration | number | 7 | 最短录制时间(秒) |
setTip | String | 拍摄90秒 | 设置拍摄按钮下部提示文字 |
camera | String | back | 设置打开时默认前置或后置摄像头, 后置摄像头:back,前置摄像头:first |
4. ref事件
事件 | 说明 |
---|---|
startRecored | 打开拍摄功能 |
this.$refs.videoEditRefs.startRecored()
5. 插件方法:finish() 取消拍摄,并回调处理结果
出参名称 | 类型 | 说明 |
---|---|---|
ptdata | String | 透传参数传啥返啥,业务需要就写上 |
code | number | 取消拍摄的状态码:1001 |
安卓八大主题,总有一款适合您
1. 超高性价比,与腾讯短视频功能对比
向腾讯短视频看齐(但精力和能力有限,很难去完全看齐,请大家理解)
编号 | 功能 | 简述 | 链车短视频-Android&ios(ios不是全部都有,请先试用) | 腾讯短视频SDK企业版 License-Android&ios | 腾讯短视频SDK企业版 Pro License-Android&ios |
---|---|---|---|---|---|
0 | 套餐价格 | SDK 的一年使用权(精简版和基础版含腾讯云点播流量套餐) | ¥2000元/永久 | ¥15万元/年 | ¥50万元/年 |
1 | 拍摄控制 | 拍摄前后摄像头切换、灯光控制、倒计时拍摄 | ✓ | ✓ | ✓ |
2 | 时长设置 | 自定义拍摄的最短和最长时长 | ✓ | ✓ | ✓ |
3 | Tips设置 | 设置拍摄按钮下部提示文字 | ✓ | ✓ | ✓ |
4 | 透传数据 | 开发者可以透传数据给插件,插件会将传入原始数据返回给开发者 | ✓ | × | × |
5 | 基础美颜 | 面部滑润、磨皮、小面积祛痘祛疤,提升视频美感 | ✓ | ✓ | ✓ |
5 | 高级美颜 | 拍摄设置大眼、瘦脸、V 脸、下巴调整、短脸、小鼻效果,并支持调节强度 | × | × | ✓ |
6 | 导入视频 | 不仅可以拍摄短视频还可以导入手机已有视频 | ✓ | ✓ | ✓ |
7 | 获取封面 | 获取第一帧图像作为封面 | ✓ | ✓ | ✓ |
8 | 按帧预览 | 移动时间线时,在预览窗口显示基准游标停留的帧图像 | ✓ | ✓ | ✓ |
9 | 视频裁剪 | 可以对拍摄或导入视频裁剪 | ✓ | ✓ | ✓ |
10 | BGM | BGM是短视频不可或缺的一部分,您可以下载合并自己的BGM到 短视频里面;您还可以手动调整原视频和BGM的音量 |
✓ | ✓ | ✓ |
11 | 视频旋转 | 拍摄完的视频,用户可能需要调整视频角度, 我们也提供了角度旋转功能给用户 |
✓ | ✓ | ✓ |
12 | 视频压缩 | 现有压缩质量和性能测试机上非常不错, 已满足我们使用,后期会持续优化 |
✓ | ✓ | ✓ |
13 | 焦距 | 拍摄调节焦距 | × | ✓ | ✓ |
14 | 对焦模式 | 支持手动对焦和多维度实现自动对焦 | ✓ | ✓ | ✓ |
15 | 分段拍摄 | 拍摄中途暂停、继续,进而拍摄出更加优秀的作品 | ✓ | ✓ | ✓ |
16 | 视频回删 | 对不满意的视频,可以试试进行回删,去其糟粕、取其精华 | ✓ | ✓ | ✓ |
17 | 清晰度 | 指定视频清晰度,可自主动态设置不同级别用户或场景视频 的清晰度,可选值:240p,480p,720p,1080p |
✓ | ✓ | ✓ |
18 | 码率设置 | 指定视频码率,可自主动态设置不同级别用户或场景视频的码率 | ✓ | ✓ | ✓ |
19 | 倒计时 | 点击倒计时后插件会自动开始拍摄 | ✓ | ✓ | ✓ |
20 | 变速拍摄 | 拍摄时支持极慢、慢速、标准、快速和极快时间特效, 拍摄速度可以让你拍出不一样的世界 |
×[计划中] | ✓ | ✓ |
21 | 视频水印 | 可以指定位置为视频添加水印,视频版权更清晰,并能更好推广自己 | ✓ | ✓ | ✓ |
22 | 静态贴纸 | 合成时,可以指定位置放置静态贴纸 | ✓ | ✓ | ✓ |
23 | 动态贴纸 | 合成时,可以指定位置放置动态贴纸 | ✓ | ✓ | ✓ |
24 | 主题风格 | 八大主题,满足各行业app风格,使拍摄插件和app风格更加贴近 | ✓ | × | × |
26 | 屏比 | 支持16:9、4:3、1:1多种屏比拍摄 | ×[计划中] | ✓ | ✓ |
27 | 拍照 | 支持拍摄照片,链车短视频暂不准备支持拍照,专业做视频 | × | ✓ | ✓ |
28 | 变声混响 | 拍摄前对录制的声音变声(如萝莉、大叔)和混响效果(如 KTV、会堂) | × | ✓ | ✓ |
29 | 动效贴纸 | 拍摄时人脸识别,然后添加变形、覆盖贴纸挂件等效果(额外支付20万元购买10个素材) | × | ✓ | ✓ |
30 | AI抠图 | 拍摄时识别出人的轮廓,把背景抠除,替换成其他的元素,例如动态背景/PPT 等(额外支付20万元购买10个素材) | × | × | ✓ |
31 | 绿幕抠像 | 拍摄时将画面中的绿色元素(如纯绿背景)抠除,替换成其他的元素,例如动态背景/PPT 等 | × | × | ✓ |
33 | 滤镜 | 给视频添加滤镜,并支持设置滤镜的强度 | ×[计划中] | ✓ | ✓ |
34 | 时间特效 | 给视频添加倒放、反复、慢动作的时间特效 | × | ✓ | ✓ |
35 | 滤镜特效 | 给视频添加灵魂出窍、动感光波、分裂、幻影等特效 | × | ✓ | ✓ |
36 | 字幕 | 添加字幕,可以选择字幕边框背景的样式,例如气泡等,支持设置在视频画面中显示位置和起始时 | × | ✓ | ✓ |
37 | 图片转场 | 导入多张图片,并选择旋转、淡入淡出等转场效果,并生成视频 | × | ✓ | ✓ |
38 | 视频拼接 | 支持多视频前后拼接 | × | ✓ | ✓ |
39 | 跟拍 | 支持根据播放的视频进行跟拍,生成双画面视频 | × | ✓ | ✓ |
2. 插件名称
Hs-ShortVideo
3. 插件方法:startRecored() 调起短视频插件,并回调处理结果
入参名称 | 说明 | 默认值 | 类型 | 备注 |
---|---|---|---|---|
maxDuration | 最长录制时间(秒) | 60 | int | |
minDuration | 最短录制时间(秒) | 7 | int | |
serverUrl | 服务器地址,现应用于音乐服务器 | String | 音乐下载需要 | |
token | 接口token,现用于自己音乐服务器交互,根据自己音乐接口处理;没有传空值 | String | 音乐下载需要 | |
setTip | 设置拍摄按钮下部提示文字 | String | ||
camera | 设置打开时默认前置或后置摄像头, 后置摄像头:back,前置摄像头:first | back | String | |
ptdata | 透传参数传啥返啥,业务需要就写上。内容自己业务需要填写, 格式:{gameid:121, xxxname:'手动滑'} |
String | ||
bitRate | 单位时间内码率越大,音视频质损失越小,品质越高,文件越大。 有需要的开发者根据自身需要进行设置 |
int | ||
resolution | 自定义视频清晰度,可选值:240p,480p,720p,1080p | String | ||
chartletPath | 贴纸绝对路径 | String | ||
chartletLoc | 贴纸离屏幕边距 | Object | ||
└left | int | |||
└top | int | |||
└right | int | |||
└bottom | int | |||
theme | 主题参数: 1. deep_blue,深蓝色; 2. sky_blue天蓝色; 3. purple,浅紫色; 4. deep_purple,深紫色; 5. red,浅红色; 6. deep_red,深红色; 7. pink,粉红色; 8. default,默认黄色; |
default | String |
出参名称 | 说明 | 类型 | 备注 |
---|---|---|---|
ptdata | 透传参数传啥返啥,业务需要就写上。内容自己业务需要填写, 格式:{gameid:121, xxxname:'手动滑'} |
String | |
video | Object | ||
└videoPath | 视频路径 | String | |
└cover | 封面路径 | String | |
└duration | 视频时长,单位为秒,视频时长通常不会少于最短录制时间 | int | |
└width | 视频分辨率宽度 | int | |
└height | 视频分辨率高度 | int | |
└type | 视频是拍摄还是导入的,1.拍摄 2.导入 | int | |
└length | 视频文件大小,单位为字节 | long |
4. 使用方法
//插件对象
const hsShortVideo=uni.requireNativePlugin("Hs-ShortVideo");
//调起短视频插件
hsShortVideo.startRecored({
maxDuration:60,
minDuration:7,
serverUrl:"您的音乐接口服务器地址",
token:"音乐服务器交互使用的token",
setTip:"链车短视频",
camera:"first",
ptdata:{},
chartletPath: plus.io.convertLocalFileSystemURL("/static/logo.gif"),
chartletloc: { top:10, left:10}
},
result => {
console.log(JSON.stringify(result));
});
5. BGM接口文档(不使用BGM可以无视)
需要使用BGM的可以参考本文档 返回数据通用格式:
字段 | 类型 | 描述 |
---|---|---|
res | int | 错误码, -1:系统异常,0:系统繁忙,1:处理成功,2:处理失败,3:数据不完整,4:数据已存在,5:暂无数据,6:数据异常,7:请求超时,8:验证失败,9:签名错误,10:接口不存在,11:账号或密码错误,12:没有权限,13:登录失效 |
msg | string | 错误提示消息 |
data | object | 返回数据 |
totalCount | int | 总数据条数,如果不传则为-1 |
示例:
{
"res":1,
"msg":"处理成功",
"data":[
{
"id":2,
"name":"无感32",
"singer":"王二小",
"duration":12,
"cover":"http://musicugc.qianqian.com/ugcdiy/pic/f5dba3bf55e0250a28fdb7f4b1cb10da.jpg@s_2,w_346,h_346"
},
{
"id":4,
"name":"Road_to_Moscow",
"singer":"周伦",
"duration":73,
"cover":"https://dss0.baidu.com/73x1bjeh1BF3odCf/it/u=1777238410,4132449233&fm=85&s=5C1087555D83E0430A3620CF030050BA"
}
],
"totalCount":-1
}
5.1 推荐歌曲
api: /Video/Song/recommendSongs
参数名字 | 类型 | 是否必须 | 说明 |
---|---|---|---|
number | int | 否 | 推荐歌曲个数 |
返回字段 | 类型 | 说明 |
---|---|---|
id | int | 歌曲id |
name | string | 歌曲名 |
singer | string | 歌手 |
duration | int | 歌曲时长,单位为秒 |
cover | String | 歌曲封面 |
5.2 歌曲列表
api: /Video/Song/newSongs
描述:可以自定义排序规则
参数名字 | 类型 | 是否必须 | 说明 |
---|---|---|---|
page | int | 否 | 当前为第几页,第一页为1 |
pagesize | int | 否 | 每页加载数量,默认14 |
返回字段 | 类型 | 说明 |
---|---|---|
id | int | 歌曲id |
name | string | 歌曲名 |
singer | string | 歌手 |
duration | int | 歌曲时长,单位为秒 |
cover | String | 歌曲封面 |
5.3 搜索歌曲
api: /Video/Song/searchSong
描述:可以自定义排序规则
参数名字 | 类型 | 是否必须 | 说明 |
---|---|---|---|
name | string | 是 | 搜索歌曲关键词 |
page | int | 否 | 当前为第几页,第一页为1 |
pagesize | int | 否 | 每页加载数量,默认18 |
返回字段 | 类型 | 说明 |
---|---|---|
id | int | 歌曲id |
name | string | 歌曲名 |
singer | string | 歌手 |
duration | int | 歌曲时长,单位为秒 |
cover | String | 歌曲封面 |
5.4 下载歌曲
api: /Video/Song/downloadSong
描述:可以自定义排序规则
参数名字 | 类型 | 是否必须 | 说明 |
---|---|---|---|
songId | int | 是 | 歌曲id |
返回字段 | 类型 | 说明 |
---|---|---|
无 | Binary | 整个返回数据只有歌曲二进制内容,无通用返回格式 |
5.5 歌曲使用量打点
api: /Video/Song/useNumbers
描述:记录歌曲使用次数
参数名字 | 类型 | 是否必须 | 说明 |
---|---|---|---|
songId | int | 是 | 歌曲id |