微信小程序实现播放当前视频时,关闭其他视频播放

需求:播放当前视频时,关闭其他视频的播放

思路:使用实例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.videoContext有值且与当前点击播放视频不是同一个,并执行stop()
    this.vid !== vid && this.videoContext && this.videoContext.stop()

    // 通过当前视频唯一标识形成实例
    this.videoContext = wx.createVideoContext(vid)

    // 将唯一标识赋值方便判断
    this.vid = vid

  

你可能感兴趣的:(技术档案,其他,小程序,微信)