小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在swiper-item中放入video,左右滑动可在多个video中切换。其中属性bindchange可以监听change事件且e.detail.current可以得到滑动后新窗口的index。问题是现在希望当用户滑动到下个视频时,自动停止播放上个窗口的视频。因此需要知道滑动前窗口的index,当前current减1肯定不行,因为用户可以左右滑动。同时找了找,也没有发现判断用户是向左滑动还是向右滑动的方法,所以无法计算出滑动前窗口的index。
把文档看完了也不知道怎么实现,求解!
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
扩展组件:video-swiper了解一下
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
已经解决。
1,多个swiper item中分别使用videoInstance,互不干扰。videoInstance id与当前swiper item index绑定在一起:
<video class="page-body" id="myVideo{{index}}" show-play-btn="true" src="{{videoSrc}}{{itemName}}.mp4" object-fit="fill" ></video>
2,bindchange绑定stopVideo函数,且使用两个变量保存当前index和滑动前index,默认值都为0.
stopVideo: function(e) { //当窗口滑动时触发
this.data.previousSwiperIndex = this.data.currentSwiperIndex
this.data.currentSwiperIndex = e.detail.current
this.videoInstance = wx.createVideoContext("myVideo" + this.data.previousSwiperIndex)
this.videoInstance.stop() // stop previous video playing
}
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
扩展组件:video-swiper了解一下
已经解决。
1,多个swiper item中分别使用videoInstance,互不干扰。videoInstance id与当前swiper item index绑定在一起:
<video class="page-body" id="myVideo{{index}}" show-play-btn="true" src="{{videoSrc}}{{itemName}}.mp4" object-fit="fill" ></video>
2,bindchange绑定stopVideo函数,且使用两个变量保存当前index和滑动前index,默认值都为0.
stopVideo: function(e) { //当窗口滑动时触发
this.data.previousSwiperIndex = this.data.currentSwiperIndex
this.data.currentSwiperIndex = e.detail.current
this.videoInstance = wx.createVideoContext("myVideo" + this.data.previousSwiperIndex)
this.videoInstance.stop() // stop previous video playing
}