uniapp页面里面的视频,在app端如何实现显示封面图
一开始使用了video组件里面的poster,然后利用canvas获取视频的第一帧作为封面图,结果一运行起来很多莫名其妙的错误。所以我想了一个简单的方法,页面加载后,让全部视频先自动播放,播放一秒后,再全部自动停止,没想到这个方案效果还挺好,直接上代码:<videov-if="item.video_
一开始使用了video组件里面的poster,然后利用canvas获取视频的第一帧作为封面图,结果一运行起来很多莫名其妙的错误。
所以我想了一个简单的方法,页面加载后,让全部视频先自动播放,播放一秒后,再全部自动停止,没想到这个方案效果还挺好,直接上代码:
<video v-if="item.video_status" class="model-card" :src="item.url" :id="`video-${index}`" :direction="0" :show-play-btn="true" mode="widthFix" autoplay="true" muted="true" @play="onVideoPlay(index)" ></video>
1、先让视频自动静音播放:muted="true",autoplay="true"
2、然后监听播放事件:@play="onVideoPlay(index)" <!-- 监听播放事件 -->
3、最后执行停止播放视频
// 视频开始播放时触发 onVideoPlay(index) { const videoId = `video-${index}`; const videoContext = uni.createVideoContext(videoId, this); // 1秒后自动暂停 setTimeout(() => { videoContext.pause(); // 暂停视频 }, 1000); },