需求:播放当前视频时,关闭其他视频的播放
思路:使用实例wx.createVideoContext(‘唯一标识’)
需解决问题:
- 找到视频的唯一标识并生成实例
- 找到上一个播放视频生成的实例
- 首个视频播放可以正常执行
- 连续点击同一个视频,播放-暂停-播放的时候正常执行
wxml代码
<scroll-view class="videoScroll" scroll-y>
<view class="videoItem" wx:for="{{videoList}}" wx:key="id" wx:for-item="video">
<video class="videoShow" src="{{video.data.urlInfo.url}}" loop="false" poster="{{video.data.coverUrl}}" loops="false" bindplay="handlePlay" id="{{video.data.vid}}"></video>
</view>
</scroll-view>
js代码
handlePlay (event) {
let vid = event.currentTarget.id
this.vid !== vid && this.videoContext && this.videoContext.stop()
this.videoContext = wx.createVideoContext(vid)
this.vid = vid