微信小程序 同一页面多个视频只让选中的这个播放 其他都暂停 只播放一个视频

微信小程序 同一页面多个视频只让选中的这个播放 其他都暂停 只播放一个视频

使用 wx.createVideoContext创建对应视频的实体,并对此实体做播放和暂停操作 直接上代码

js
//定义变量indexCurrent:null
 data:{
	  indexCurrent:null,
	}

  video_play(e) {
    var curIdx = e.currentTarget.id;
    // 没有播放时播放视频
    console.log(curIdx)
    if (!this.data.indexCurrent) {
      this.setData({
        indexCurrent: curIdx
      })
      var videoContext = wx.createVideoContext(curIdx,this) //这里对应的视频id
      videoContext.play()
    } else { // 有播放时先将prev暂停,再播放当前点击的current
      var videoContextPrev = wx.createVideoContext(this.data.indexCurrent,this)//this是在自定义组件下,当前组件实例的this,以操作组件内 video 组件(在自定义组件中药加上this,如果是普通页面即不需要加)
      if (this.data.indexCurrent != curIdx) {
        videoContextPrev.pause()
        this.setData({
          indexCurrent: curIdx
        })
        var videoContextCurrent = wx.createVideoContext(curIdx,this)
        videoContextCurrent.play()
      }
    }
  },
wxml
<view class="main" wx:for="{{list}}" wx:for-index="index" wx:key="index">
	<view class="video" >
    	<video src="xxx.mp4" id="video{{index}}" bindtap="video_play"></video>
	</view>
</view>
主要就是用id来标识现在播放的视频
即curIdx与indexCurrent来进行标识
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值