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

扫码体验

请使用字节宿主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], }); }, });