tt.prerenderVideo收藏我的收藏
收藏
我的收藏基础库 3.16.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。
预渲染视频。用于在视频播放前提前预渲染好视频,从而缩短视频的首帧耗时。小程序全局只会保存一个预渲染的视频,可以先预渲染好接下来需要播放的视频,然后复用预渲染视频进行播放,接着再重新预渲染下一个即将播放的视频,以此类推。需要注意只有创建 video 组件时可以复用预渲染的视频,更新视频资源属性,是无法复用预渲染的视频的。
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 无 |
注意事项 | 无 |
支持沙盒 | 否 |
相关教程 | 无 |
语法
tt.prerenderVideo(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
size | number | 409600 | 否 | 预渲染资源大小,单位 byte,取值范围(0,10M]。默认400*1024 | 3.16.0 |
src | string | 是 | 视频资源地址 | 3.16.0 | |
success | function | 否 | 接口调用成功的回调函数 | 3.16.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 3.16.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 3.16.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "prerenderVideo:ok" | 3.16.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "prerenderVideo:fail" + 详细错误信息 | 3.16.0 |
错误码
errorCode | errMsg | errorType | 说明 | 最低支持版本 |
---|---|---|---|---|
128205 | prerenderVideo:fail invalid mp id | D | 当前小程序不允许预渲染 检查是否有预渲染权限 | 3.16.0 |
128203 | prerenderVideo:fail unsupported render type | I | 不支持的同层类型 ttwebview未就绪,无需关注关注 | 3.16.0 |
128202 | prerenderVideo:fail cancel | D | 延后执行的预渲染任务被新任务打断 预渲染任务被新任务打断,尝试调整预渲染时机 | 3.16.0 |
128207 | prerenderVideo:fail timeout waiting for the current video to start playing | D | 等待当前视频开始播放超时 当前已有起播实例,尝试调整预渲染时机 | 3.16.0 |
128201 | prerenderVideo:fail API permission denied | I | 关闭预渲染 平台关闭预渲染功能,可通过创建工单反馈,咨询功能开启计划 | 3.16.0 |
128204 | prerenderVideo:fail it is not a new component | F | 小程序框架内部错误,有需要请创建工单咨询 | 3.16.0 |
174599 | prerenderVideo:fail the value of params.size should be greater than 0 | D | 参数错误 检查参数 | 3.16.0 |
扫码体验
请使用字节宿主APP扫码
代码示例
<view class="container"> <view class="body"> <view class="btn-area"> <button type="primary" size="default" bindtap="prerender">开始预渲染</button> <button type="primary" size="default" bindtap="play">复用预渲染的视频进行播放</button> <video tt:if="{{show}}" autoplay="{{true}}" src="{{src}}"></video> </view> </view> </view>
Page({ data: { srcList: [ "https://sf1-ttcdn-tos.pstatp.com/obj/ttfe/test/test-upload.mp4", "https://sf1-ttcdn-tos.pstatp.com/obj/developer/sdk/1534422848153.mp4", ], src: "", show: false, idx: 0, }, prerender() { this.setData( { idx: (this.data.idx + 1) % this.data.srcList.length }, () => { tt.prerenderVideo({ src: this.data.srcList[this.data.idx], success: (res) => { tt.showToast({ title: "预渲染成功", }); console.log(`预渲染成功,res = `, res); }, fail: (res) => { tt.showToast({ title: "预渲染失败", }); console.log(`预渲染失败,res = `, res); }, }); } ); }, play() { this.setData({ src: this.data.srcList[this.data.idx], show: true }); }, });
点击纠错