- JS API 列表
- 基础
- 网络
- 媒体
- 地图
- 文件
- 开放接口
- 数据缓存
- 地理位置
- 设备
- 画布
- 界面
- 页面导航
- 侧边栏能力
- 行业开放
- AI/AR能力
- 第三方平台
- TTML
- 转发和挂载
- 其它
- 直播能力
tt.createMediaRecorder收藏我的收藏
收藏
我的收藏语法
Plain Text复制tt.createMediaRecorder(canvas, options)
参数说明
canvas
类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
无 | 是 | 2.52.0 |
options
object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
width | number | 480 | 否 | 视频文件的宽度 | 2.52.0 |
height | number | 640 | 否 | 视频文件的高度 | 2.52.0 |
videoBitsPerSecond | number | 3000 | 否 | 视频文件比特率,单位 kbps | 2.52.0 |
gop | number | 12 | 否 | 视频文件的关键帧间隔(key frame interval) | 2.52.0 |
fps | number | 60 | 否 | 视频文件的 fps,实际产出的视频文件的帧率可能和此处给定的帧率不一致 | 2.52.0 |
注意,如果将 fps 设置为 0,那么录制器会进入手动录制模式,在手动录制模式中需要在 start 之后主动触发 requestFrame 调用才会录制一帧,而在自动录制模式中 start 之后会自动录制每一帧。手动模式允许用户对录制视频的方式进行更加精细的控制。
返回值
扫码体验
代码示例
html复制<canvas id="myCanvas" type="2d"></canvas>
js复制Page({
onReady() {
tt.createSelectorQuery()
.select("#myCanvas")
.node()
.exec((res) => {
// 获取 canvas 实例
const canvas = res[0].node;
const canvasCtx = canvas.getContext("2d");
this.recorder = tt.createMediaRecorder(canvas, {
width: canvas.width, // video width
height: canvas.height, // video height
videoBitsPerSecond: 1000, // bit rate in kbps
gop: 12, // key frame interval
fps: 60, // frames per second
});
console.log(`${this.recorder}`);
});
},
});
Bug & Tip
- •Tip: 目前仅支持 Canvas v2 版本的画面录制;
- •Tip: 开始录制前需要 确保 Canvas 已有对应的 Context。
点击纠错