小程序中的 video 组件是原生组件, 默认宽雀饥度300px、高度225px,可通过wxss设置宽高。其中 src 属性默认支持MP4格式,但是实际上还可以支持其他格式。
属性主要有:
src :要播放视频的资源地址。
initial-time :指定视频初始州销播放位置。
danmu-list :d幕列表。
controls :是否显示默认播放控件(播放/暂停按钮、播放进度、时间)。
binderror :视频播放出错时触发。
安卓系统可以支持MP4格式的视频,苹果手机支持m3u8格式的视频。可以通过获取手机的系统,然后判断播放什么格式的视频。
参数主要顷迹返包括:
brand :手机品牌;
model :手机型号;
fontSizeSetting :用户字体大小设置。以“我-设置-通用-字体大小”中的设置为准,单位 px;
pixelRatio :设备像素比。
1.默认显示封面;
2.一个视频播放的时候,其他视频停止播放,并显示封面。
1.通过wx:if判断当前视频是否是播放的状态,如果是就显示视频,如果不是就隐藏视频;
2.点击封面的时候,获取到该视频的id,进行判断,如果当前没有视频播放,就把该视频设置为播放的状态;如果当前有视频播放,则停止当前播放的视频,再播放你点击的这个视频。
<view class="video_body">
<view wx:for="{{courseList}}" wx:for-item="course" class='course-pannle-item' wx:for-index="idx" wx:key="index">
<view class='video-item'>
<video class="video" wx:if='{{idx==playIndex}}' id='video{{idx}}' autoplay='{{true}}' show-center-play-btn="{{false}}" src='{{course.videoUrl}}' controls="羡孙庆true" objectFit="cover"></video>
<image class='video-cover video' wx:if='{{idx!=playIndex}}' mode='widthFix' src='{{course.coverUrl}}'></image>
<image class='video-play-btn' wx:if='{{idx!=playIndex}}' mode='widthFix' data-index='{{idx}}' bindtap='videoPlay' src='/images/home/btn.png'></image>
<!-- <text wx:if='{{idx!=playIndex}}' class='video-duration fs-28'>
{{course.duration}}
凯尺 </text>-->
</view>
</view>
</view>
data: {
playIndex: null, //用于记录当前播放的视频的索引值
courseList: [
{
videoUrl: 'https://fxmv3-asset.oss-cn-zhangjiakou.aliyuncs.com/132a004191990de6d1dde6379a56987b.mp4'兄握, //视频路径
coverUrl: '/images/home/1.png', //视频封面图
duration: '03:00' //视频时长
},
{
videoUrl: 'https://fxmv3-asset.oss-cn-zhangjiakou.aliyuncs.com/bddfba680554409e47aeb653ec5d58af.mp4',
coverUrl: '/images/home/2.png',
duration: '04:45'
}
]
},
videoPlay: function (e) {
var curIdx = e.currentTarget.dataset.index
// 没有播放时播放视频
if (!this.data.playIndex) {
this.setData({
playIndex: curIdx
})
var videoContext = wx.createVideoContext('video' + curIdx)//这里对应的视频id
videoContext.play()
} else {
// 有播放时先将prev暂停,再播放当前点击的current
var videoContextPrev = wx.createVideoContext('video' + this.data.playIndex)
if (this.data.playIndex != curIdx) {
videoContextPrev.pause()
}
this.setData({
playIndex: curIdx
})
var videoContextCurrent = wx.createVideoContext('video' + curIdx)
videoContextCurrent.play()
}
},
上方的video标签写好,给src一个定义的变量URL_data赋值;定义一个播放宏耐标题title_video下面的列表数据,应该每闹绝嫌个列表item里面包含该数据对应的src值,点击列表item的时候,液手获取该item的数据,将获取到的item数据赋值给URL_data,并将获取到的item的标题数据赋值给title_video
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)