小程式點選圖片自動播放視訊,停止上一個視訊播放
阿新 • • 發佈:2019-02-06
通過列表的點選事件自動播放列表對應的視訊,同時停止上一個視訊的播放
原始碼:
<view> <view class='vv' wx:for='{{vedio_data}}' wx:key=''> <view class='block' style='margin-left:20rpx;'> <image src='/img/1.png' class='img1' style='margin-left:20rpx'></image> <text class='text'>{{item.title}} </text> <view id="{{index}}" class="cover" style="display: {{ _index == index ? 'none' : 'block' }};" bindtap="videoPlay" > <!-- 視訊圖層 --> <image class="videoVideo2" src="{{item.img}}" mode="scaleToFill"> <!-- 視訊按鈕 --> <image class="videoPlay" src="/img/bf.png" mode="scaleToFill"></image> </image> </view> </view> <!-- 視訊 --> <video src="{{item.url}}" id="{{index}}" class='video' wx:if="{{_index == index}}" > <!-- log --> </video> </view> <view class='di'> <image src='/img/qd.png' class='bottom'></image> <text class='bottom_text'>敬請期待</text> </view> </view>
/* 邊框 */ .vv { width: 700rpx; height: 530rpx; border-left: gainsboro 1px solid; border-right: gainsboro 1px solid; border-top: gainsboro 1px solid; margin-bottom: 80rpx; border-radius: 15rpx; overflow: hidden; position: relative; top: 40rpx; left: 20rpx; } /* 小圖示 */ .img1 { width: 36rpx; height: 28rpx; margin-top: 30rpx; } /* 標題文字 */ .text { font-size: 28rpx; color: #585858; margin-left: 10rpx; } /* 視訊 */ .video { width: 100%; height: 450rpx; margin-top: 20rpx; border-bottom-left-radius: 15rpx; border-bottom-right-radius: 15rpx; } .videoVideo2 { width: 703rpx; height: 453rpx; position: absolute; top: 80rpx; left: 20rpx; z-index: 99; } .videoPlay{ position: absolute; width: 80rpx; height: 80rpx; top:45%; left: 45%; margin: -30rpx 0 0 -30rpx; z-index: 100; } /* 底部盒子 */ .bottom { width: 40rpx; height: 40rpx; } /* 底部圖片 */ .di { display: flex; flex-direction: row; padding: 60rpx 0rpx 100rpx 280rpx; } /* 底部文字 */ .bottom_text { font-size: 34rpx; color: #d8d8d8; margin-left: 10rpx; }
// pages/class/class.js Page({ /** * 頁面的初始資料 */ data: { videoPlay: null, vedio_data: [{ title: '無13131(大班)', url: 'xxx', img: 'xxx', }, { title: ' 如何23 1 、 2 、2423、4)', url: 'xxx', img: 'xxx' }, { title: '溫熱礙', url: 'xxx', img:'xxx' }, { title: '挑嘎嘎嘎輸', url: 'xxx', img: 'xxx' }, { title: '延伸挑戰:運輸圓球', url: 'xxx', img:'xxx' }, ] }, // 點選cover播放,其它視訊結束 videoPlay: function (e) { var _index = e.currentTarget.id this.setData({ _index: _index }) //停止正在播放的視訊 var videoContextPrev = wx.createVideoContext(this.data._index) videoContextPrev.stop(); setTimeout(function(){ //將點選視訊進行播放 var videoContext = wx.createVideoContext(_index) videoContext.play(); },500) }, })
視訊和圖片地址就不提供了