文档中心>智能创作

API 介绍

最近更新时间:2022-06-09 15:25:45

我的收藏
快速接入会涉及两个组件,clip 组件和 export 组件,具体使用方式及组件 API 如下:

clip 组件

clip 组件作为插件快速接入方式的入口组件,只需要将其引用到具体的业务 page 中即可,如下所示:
1. 在页面对应的配置文件 test.json 中加入以下代码,引入插件提供的 clip 组件。名称可自定义,以 my-clip 为例:
{
"usingComponents": {
"my-clip": "plugin://myPlugin/clip" // “myPlugin”需与app.json中定义一致,“clip”为固定值
}
}
2. 在页面的 wxml 文件中应用上述组件:
<view>
<my-clip></my-clip>
</view>
3. clip 组件提供拍摄、相册及模板入口,默认为拍摄。若需要自定义初始模式,例如只保留拍摄和相册入口,且默认跳转相册,可通过注入配置的方式实现,如下所示:
说明
具体配置项请参见 自定义配置 中的配置项说明部分。
<!-- 初始化逻辑通常写在app.js中-->
const plugin = requirePlugin("myPlugin")

App({
onLaunch: function () {
if(plugin.initPlugin){
const settings = {
camera: {
modeTypes: ['album', 'camera'], // 资源入口控制
defaultMode: 'album', // 默认入口
},
// 其他配置项
}
plugin.initPlugin(settings) // 手动初始化插件
}
}
})


export 组件

导出组件作为插件的出口组件,用于将编辑好的视频导出至用户相册中,插件内置简单的导出页面可直接使用。若用户需要自定义导出页面UI,可以通过在目标页中引入 export 组件的方式实现,使用方式如下:
1. 在目标页面对应的配置文件 test.json 中加入以下代码引入插件提供的 export 组件,名称可自定义,如下以 my-export 为例:
{
"usingComponents": {
"my-export": "plugin://myPlugin/export" // “myPlugin”需与app.json中定义一致,“export”为固定值
}
}
2. 在页面的 wxml 文件中应用上述组件:
<my-export
showloading="{{false}}" // 导出时会自动显示loading,如不需要传false隐藏
watermark="https://cdn-weijian-1258344699.file.myqcloud.com/images/watermark.png" //水印地址
bindexportsuccess="handleExportSuccess" //返回导出的文件临时路径,供调用者使用
bindprogress="handleProgress" // 导出进度更新,返回值0-100
bindthumbready="handleThumbReady"> //导出页面预览图绘制完成回调
<button class="customContent">导出</button> // 自定义UI,由slot实现
</my-export>

属性说明

属性名
类型
默认值
说明
必填
quality
Enum('high', 'medium', 'low')
medium
导出视频质量选项。提供 high,medium,low 三个选项。以标准16:9视频为例:
high 导出分辨率为1080*1920
medium 导出分辨率为720*1280
low 导出分辨率为 540*960
showloading
Boolean
false
是否显示默认的导出进度 toast,默认值:false
watermark
String
-
水印地址,支持线上链接和本地临时地址
watermarkX
Number
15
水印基于左上角 X 偏移量
watermarkY
Number
15
水印基于左上角 Y 偏移量
bitrate
Number
2000
导出视频的比特率
gop
Number
12
导出视频的 gop
bindexportstart
Function
-
导出流程开始
bindprogress
Function
-
导出进度更新
e.detail = {
progress: Number
}
bindexportsuccess
Function
-
导出成功
{
code: 0, //成功
tempFilePath: 'wxfile://xxx.mp4',
coverInfo: {
path: xxx,
width: 544,
height: 960
}, // 封面信息
video: {
width: '544', //视频分辨率
height: '960',
fps: 30, //帧率
}
duration: 3000 //单位 ms
}
bindexportfail
Function
-
导出失败
{
message: String,
error: errorStack
}
bindthumbready
Function
-
默认封面图生成
{
path: String,
height:1080,
width: 720
}