video-swiper

视频滑动切换组件,可实现类似微视无限视频列表效果。

安装

  1. npm install @miniprogram-component-plus/video-swiper

在页面 page.json 中

  1. // page.json
  2. {
  3. "usingComponents": {
  4. "mp-video-swiper": "@miniprogram-component-plus/video-swiper"
  5. }
  6. }

使用说明

video-list 的长度应当不低于 3 个,当滚动到首项或者尾项后,会进入循环。通过 setData 更改 video-list,会直接追加到之前的视频源中。可监听 bindchange 事件获取当前滚动到那一个视频,activeId 为视频源的唯一 id。

属性列表

属性类型默认值必填说明
durationnumber500滑动动画时长
easing-functionstringdefault切换缓动动画类型
loopbooleantrue是否循环播放
video-listArray VideoSwiperItem[]true视频源
bindchangeeventhandle滑动切换完成时触发, e.detail={activeId}
bindplayeventhandle开始/继续播放时触发, e.detail={activeId}
bindpauseeventhandle暂停播放时触发, e.detail={activeId}
bindendedeventhandle播放到末尾时触发, e.detail={activeId}
bindtimeupdateeventhandle播放进度变化时触发,event.detail = {currentTime, duration, activeId}
bindwaitingeventhandle视频出现缓冲时触发, e.detail={activeId}
binderroreventhandle视频播放出错时触发, e.detail={activeId}
bindprogresseventhandle加载进度变化时触发,只支持一段加载。event.detail={buffered, activeId}
bindloadedmetadataeventhandle视频元数据加载完成时触发。event.detail={width, height, duration, activeId}

VideoSwiperItem 属性列表

属性说明
id每个视频源的唯一 id
url视频播放地址
objectFit当视频大小与 video 容器大小不一致时,视频的表现形式

objectFit 的合法值

属性说明
contain包含
fill填充
cover覆盖

easing-function 的合法值

属性说明
default默认缓动函数
linear线性动画
easeInCubic缓入动画
easeOutCubic缓出动画
easeInOutCubic缓入缓出动画

示例代码

在开发者工具中预览效果