组件:videoContext
版本:2.11
问题描述:
要实现的功能:当前一组Video ,同时只有一个播放。
<video id="myVideo{{item.id}}" src="https://{{item.videoAddress}}" controls="{{true}}" custom-cache="{{false}}" object-fit='cover' bindplay="vedioplay" bindended="vedioended" show-center-play-btn="{{true}}" autoplay='{{false}}' data-index='{{item.id}}'></video>
vedioplay:function(e){
console.log("play")
let id = e.currentTarget.dataset.id;
var index = e.currentTarget.dataset.index;
console.log(this.data.videoIndex+",cur click:"+index)
if (!this.data.videoIndex) { // 没有播放时播放视频
this.setData({
videoIndex: index
})
} else {
var vedioid = 'myVideo' + this.data.videoIndex;
console.log(vedioid)
var videoContextPrev = wx.createVideoContext(vedioid)
videoContextPrev.stop();
videoContextPrev.pause();
this.setData({
videoIndex: index
})
}
},
执行后调试输出:
不知道我是不是属性设置的有问题,还是什么问题导致的。
谢谢
谢邀:
不建议同个页面使用多个video组件,建议不超过3个video,如果要实现video列表功能,请进行优化(image列表,选中时将image替换成video)
列表展示的都是image,播放的时候才是video,当你播放当前的这个的时候自动播放,之前的video隐藏变为image,这是我的方式,有点简陋,小程序代码:
https://developers.weixin.qq.com/s/A7Jid1mz74ea
每次切换视频的时候 先暂停 再停止 再播放下一个视频 也解决了这个问题 但是 偶尔也会出现
↓↓↓↓能帮到你是我的荣幸!如果觉得有帮助的话请在顶部回复里点个有用。让其他人碰到同类问题时少走弯路~