关于微信小程序中视频列表的优化性能(微信小程序中video不支持webp)

因为微信小程序中的video不支持webp格式,只有Image支持,但是云音乐小程序的接口返回的视频列表数据中只有webp图片格式,却有视频的vid。

为了性能优化,用image来先代替video来优化,然后点击了图片,再使视频显示出来,并且自动播放(不自动播放的话点了图片之后还要再点一下视频才能播放)

<video src="{{playing}}" 
poster="{{item.data.coverUrl}}" 
class="common" id="{{item.data.vid}}" 
wx:if="{{videoId == item.data.vid}}" 
autoplay="true" 
object-fit="fill"></video>
<!-- 性能优化:使用image标签代替video标签 -->
<image wx:else src="{{item.data.coverUrl}}" class="common" 
bindtap="handlePlay" id="{{item.data.vid}}"></image>
<view class="content">{{item.data.title}}</view>

这里由videoId(代表当前播放视频的id)来控制哪个显示,点击图片后会改变,并把playing(当前播放视频的url)。

// 点击了webp图片后,再发请求播放视频
  async handlePlay(e){
    // console.log(e.target.id);
    // 把到视频的id,再发请求获得对应视频的地址
    let vid = e.target.id;
    let result = await request('/video/url',{id:vid});
    if(result.code === 200){
      this.setData({
        playing:result.urls[0].url,
        videoId:e.target.id
      })
    }
}

本来的接口返回的数据中的视频的url但是现在没有,而是webp。因为webp是一种效率较高的图片形式,后来我又找了通过视频的vid再返回url的一个接口才找到的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值