• JS API 列表
  • 基础
  • TTML
  • 网络
  • 媒体
  • 图片
  • 录音
  • 音频
  • 视频
  • tt.chooseVideo
  • tt.saveVideoToPhotosAlbum
  • tt.preloadVideo
  • PreloadVideoTask
  • tt.chooseMedia
  • tt.createVideoContext
  • VideoContext
  • tt.createLivePlayerContext
  • LivePlayerContext
  • tt.prerenderVideo
  • tt.canIUseVideoFormat
  • 相机
  • 特效相机
  • Canvas 录制
  • rtc-room 实时通信
  • 地图
  • 文件
  • 数据缓存
  • 地理位置
  • 设备
  • 画布
  • 界面
  • 页面导航
  • 开放接口
  • 行业开放
  • 第三方平台
  • 其它
  • tt.prerenderVideo
    收藏
    我的收藏

    基础库 3.16.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。

    预渲染视频。用于在视频播放前提前预渲染好视频,从而缩短视频的首帧耗时。小程序全局只会保存一个预渲染的视频,可以先预渲染好接下来需要播放的视频,然后复用预渲染视频进行播放,接着再重新预渲染下一个即将播放的视频,以此类推。需要注意只有创建 video 组件时可以复用预渲染的视频,更新视频资源属性,是无法复用预渲染的视频的。​

    前提条件
    业务背景
    使用限制
    注意事项
    支持沙盒
    相关教程

    语法

    tt.prerenderVideo(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    sizenumber409600
    预渲染资源大小,单位 byte,取值范围(0,10M]​。默认400*1024​
    3.16.0
    srcstring
    视频资源地址​
    3.16.0
    successfunction
    接口调用成功的回调函数
    3.16.0
    failfunction
    接口调用失败的回调函数
    3.16.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    3.16.0

    回调成功

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "prerenderVideo:ok"
    3.16.0

    回调失败

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "prerenderVideo:fail" + 详细错误信息
    3.16.0

    错误码

    errorCodeerrMsgerrorType说明最低支持版本
    128205prerenderVideo:fail invalid mp idD
    当前小程序不允许预渲染

    检查是否有预渲染权限

    3.16.0
    128203prerenderVideo:fail unsupported render typeI
    不支持的同层类型

    ttwebview未就绪,无需关注关注

    3.16.0
    128202prerenderVideo:fail cancelD
    延后执行的预渲染任务被新任务打断

    预渲染任务被新任务打断,尝试调整预渲染时机

    3.16.0
    128207prerenderVideo:fail timeout waiting for the current video to start playingD
    等待当前视频开始播放超时

    当前已有起播实例,尝试调整预渲染时机

    3.16.0
    128201prerenderVideo:fail API permission deniedI
    关闭预渲染

    平台关闭预渲染功能,可通过创建工单反馈,咨询功能开启计划

    3.16.0
    128204prerenderVideo:fail it is not a new componentF
    小程序框架内部错误,有需要请创建工单咨询
    3.16.0
    174599prerenderVideo:fail the value of params.size should be greater than 0D
    参数错误

    检查参数

    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 }); }, });