阅读(2730)
赞(6)
recordClip
2020-02-13 17:39:14 更新
GameRecorderManager.recordClip(Object object)
记录精彩的视频片段,调用时必须是正在录屏,以调用时的录屏时刻为基准,指定前 x 秒,后 y 秒为将要裁剪的片段,可以多次调用,记录不同时刻。在结束录屏时,可以调用 clipVideo 接口剪辑并合成记录的片段。
输入
属性 | 类型 | 默认值 | 是否必填 | 说明 | 支持版本 |
---|---|---|---|---|---|
timeRange | Array | [3, 3] | 否 | 数组的值表示记录这一时刻的前后时间段内的视频,单位是 s | |
success | function | 否 | 记录剪辑片段成功的回调函数 | 1.20.0 | |
fail | function | 否 | 记录剪辑片段失败的回调函数 | 1.20.0 | |
complete | function | 否 | 接口调用结束的回调函数 | 1.20.0 |
输出
1.20.0 以上版本该接口 success 会返回一个唯一索引 index,用于 tt.clipVideo 接口调用时指定裁剪拼接顺序。
success返回对象参数的扩展属性:
名称 | 数据类型 | 描述 |
---|---|---|
index | number | 裁剪片段的唯一索引 |
示例
const recorder = tt.getGameRecorderManager();
const clipIndexList = []; // 剪辑索引列表
recorder.start({
duration: 30
});
recorder.onStop(res => {
recorder.clipVideo({
path: res.videoPath,
success(r) {
console.log(r.videoPath);
}
});
});
// 假设录制第15秒时,执行第一次 recordClip
recorder.recordClip({
timeRange: [5, 3],
success(r) {
console.log(r.index); // 裁剪唯一索引
clipIndexList.push(r.index);
}
});
// 录制到第20秒时,再次执行recordClip
recorder.recordClip({
timeRange: [3, 5],
success(r) {
console.log(r.index); // 裁剪唯一索引
clipIndexList.push(r.index);
}
});
以上示例代码最终得到的录屏文件将是一段包含了第 10 秒到第 25 秒内容的视频。
← onStart