微信小程序 - 同一页面存在多个video时,video无法正常播放一直在加载转圈解决方案

注:不建议同个页面使用多个video组件,建议不超过3个video,如果要实现video列表功能,请进行优化(image列表,选中时将image替换成video)

1. 防止视频封面与图片不一致,使用 poster 属性修改视频封面为图片封面

2. 条件判断视频的 id 等于 播放视频的 id 时 在将视频展示,不一致时显示图片

3. 为图片设置点击事件,用于切换视频进行播放

wxml页面:

<scroll-view class="videoScroll" scroll-y>
    <view class="videoItem" wx:for="{{videoList}}" wx:key="id">
        <!-- 光靠video组件模式是无法实现暂停上一个,播放下一个的操作功能 -->
        <video 
            src="{{item.data.urlInfo.url}}"
            object-fit="fill" 
            id="{{item.data.vid}}"
            poster="{{item.data.coverUrl}}"
            wx:if="{{videoId === item.data.vid}}"
        />
        <image 
            src="{{item.data.coverUrl}}"
            id="{{item.data.vid}}" 
            bindplay="handlePlay"
            wx:else
        />
    </view>
</scroll-view>

js页面:

handlePlay(e){
    this.vid = e.currentTarget.id;
    this.setData({
        videoId:this.vid
    });
    this.videoContext =wx.createVideoContext(this.vid);
    this.videoContext.play();
}

优化:

微信小程序 - 视频进度控制-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值