• 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.canIUseVideoFormat
    收藏
    我的收藏

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

    用于判断是否支持特定编码格式的视频资源。目前只支持 .mp4 和 .m3u8 封装格式的视频判断。​

    ​在保证同等画质的情况下,H.265 编码格式的视频整体效果(如首帧耗时、卡顿情况等)均优于 H.264,可通过此 API 判断是否支持 H.265,然后选择更合适的视频资源进行播放。​

    ​由于此 API 是异步实现,等待接口回调成功会有一定耗时,建议在接口成功回调前,默认不使用 H.265 编码格式视频资源;成功回调后,再根据结果来进行使用,避免导致首次视频渲染的首帧耗时过长。​

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

    语法

    tt.canIUseVideoFormat(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    formatenum
    视频编码格式,目前仅支持 H.265​
    3.19.0
    successfunction
    接口调用成功的回调函数
    3.19.0
    failfunction
    接口调用失败的回调函数
    3.19.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    3.19.0

    format 的合法值

    说明最低支持版本
    H.265
    视频编码格式
    3.19.0

    回调成功

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "canIUseVideoFormat:ok"
    3.19.0
    resultboolean
    表示是否支持特定编码格式的视频​
    3.19.0

    回调失败

    object 类型,属性如下:

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

    错误码

    errorCodeerrMsgerrorType说明最低支持版本
    171885canIUseVideoFormat:fail network unavailableU
    用户错误

    用户网络不佳,若此错误频繁出现建议加入超时重试逻辑

    3.19.0
    171891canIUseVideoFormat:fail Internal error server error xxxF
    小程序框架内部错误,有需要请创建工单咨询
    3.19.0
    171801canIUseVideoFormat:fail network error:%s, code=%dF
    小程序框架内部错误,有需要请创建工单咨询
    3.19.0
    171802canIUseVideoFormat:fail API permission deniedI
    平台关闭H265判断

    平台关闭H265判断,可通过创建工单反馈,咨询功能开启计划

    3.19.0

    扫码体验

    请使用字节宿主APP扫码

    代码示例

    开发者工具中预览

    <view class="container"> <view class="body"> <view class="btn-area"> <button type="primary" size="default" bindtap="setSrc">更新视频资源</button> <video autoplay="{{true}}" src="{{src}}"></video> </view> </view> </view>
    Page({ data: { src: "", srcList: [ "https://sf1-ttcdn-tos.pstatp.com/obj/ttfe/test/test-upload.mp4", "https://sf1-ttcdn-tos.pstatp.com/obj/developer/sdk/1534422848153.mp4", ], }, onLoad: function (options) { this.setSrc(); tt.canIUseVideoFormat({ format: "H.265", success: (res) => { this.data.useH265 = res.result; }, }); }, setSrc() { // 这里可以根据判定结果来选择是否设置 H.265 编码格式的视频进行播放 this.setData({ src: this.data.useH265 ? this.data.srcList[0] : this.data.srcList[1], }); }, });