tt.canIUseVideoFormat收藏我的收藏
收藏
我的收藏基础库 3.19.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。
用于判断是否支持特定编码格式的视频资源。目前只支持 .mp4 和 .m3u8 封装格式的视频判断。
在保证同等画质的情况下,H.265 编码格式的视频整体效果(如首帧耗时、卡顿情况等)均优于 H.264,可通过此 API 判断是否支持 H.265,然后选择更合适的视频资源进行播放。
由于此 API 是异步实现,等待接口回调成功会有一定耗时,建议在接口成功回调前,默认不使用 H.265 编码格式视频资源;成功回调后,再根据结果来进行使用,避免导致首次视频渲染的首帧耗时过长。
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 无 |
注意事项 | 无 |
支持沙盒 | 否 |
相关教程 | 无 |
语法
tt.canIUseVideoFormat(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
format | enum | 是 | 视频编码格式,目前仅支持 H.265 | 3.19.0 | |
success | function | 否 | 接口调用成功的回调函数 | 3.19.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 3.19.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 3.19.0 |
format 的合法值
值 | 说明 | 最低支持版本 |
---|---|---|
H.265 | 视频编码格式 | 3.19.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "canIUseVideoFormat:ok" | 3.19.0 |
result | boolean | 表示是否支持特定编码格式的视频 | 3.19.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "canIUseVideoFormat:fail" + 详细错误信息 | 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], }); }, });
点击纠错