tt.canIUseVideoFormat
收藏
我的收藏

基础库 3.19.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。​
用于判断是否支持特定编码格式的视频资源。目前只支持 .mp4 和 .m3u8 封装格式的视频判断。​
在保证同等画质的情况下,H.265 编码格式的视频整体效果(如首帧耗时、卡顿情况等)均优于 H.264,可通过此 API 判断是否支持 H.265,然后选择更合适的视频资源进行播放。​
由于此 API 是异步实现,等待接口回调成功会有一定耗时,建议在接口成功回调前,默认不使用 H.265 编码格式视频资源;成功回调后,再根据结果来进行使用,避免导致首次视频渲染的首帧耗时过长。​

语法​

JavaScript
复制
tt.canIUseVideoFormat(options)

参数说明​

options 为 object 类型,属性如下:​
属性​
类型​
默认值​
必填​
说明​
最低支持版本​
format​
string​
是​
视频编码格式,目前仅支持 H.265​
3.19.0​
success​
function​
否​
接口调用成功的回调函数​
3.19.0​
fail​
function​
否​
接口调用失败的回调函数​
3.19.0​
complete​
function​
否​
接口调用结束的回调函数(调用成功、失败都会执行)​
3.19.0​

回调成功​

object 类型,属性如下:​
属性名​
类型​
说明​
最低支持版本​
result​
boolean​
表示是否支持特定编码格式的视频​
3.19.0​
errMsg​
string​
"canIUseVideoFormat:ok"​
3.19.0​

回调失败​

object 类型,属性如下:​
属性名​
类型​
说明​
最低支持版本​
errMsg​
string​
"canIUseVideoFormat:fail" + 详细错误信息​
3.19.0​

扫码体验​

代码示例​

HTML
复制
<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>
JavaScript
复制
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],
});
},
});

Bug & Tip​

无​