微信小程序 同一页面多个视频只让选中的这个播放 其他都暂停 只播放一个视频
使用 wx.createVideoContext创建对应视频的实体,并对此实体做播放和暂停操作 直接上代码
js
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)
videoContext.play()
} else {
var videoContextPrev = wx.createVideoContext(this.data.indexCurrent,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来进行标识