实现的效果就是当前页面是一个视频列表,如果不处理的话,就会出现同时播放多个视频文件 效果图如下 同时播放了3个

videoPlay: function (e) {
// console.log(e,'videoPlay')
var that = this;
var curIdx = e.currentTarget.dataset.index;
// 有播放时先将prev暂停,再播放当前点击的current
if (that.data.indexCurrent != null) {
var videoContextPrev = wx.createVideoContext('myVideo' + that.data.indexCurrent)
if (that.data.indexCurrent != curIdx) {
videoContextPrev.pause()
}
that.setData({
indexCurrent: curIdx
})
var videoContextCurrent = wx.createVideoContext('myVideo' + curIdx)
videoContextCurrent.play()
} else { // 没有播放时播放视频
that.setData({
indexCurrent: curIdx
})
var videoContext = wx.createVideoContext('myVideo' + curIdx) //这里对应的视频id
videoContext.play()
}
},
play(e) {
var that = this;
var id = e.currentTarget.id;
for (var i = 0; i < that.data.VideoList.length; i++) {
if (id === 'myVideo' + i) {
// console.log('播放视频不做处理');
} else {
// console.log('暂停其他正在播放的视频');
var videoContext = wx.createVideoContext("myVideo"+i, that);
videoContext.pause();
}
}
},
<video id="my-video" show-center-play-btn='{{true}}' style="width: 100%;" src="{{item.VideoUrl}}" bindtap="videoPlay" data-index='{{index}}' id="myVideo{{index}}"></video>