change(event) {
this.k = event.detail.current
setTimeout(()=>{
this.playVideo();
},1000)
},
最近一直在开发h5端 和公众号小程序,一般总会遇到video不能自动触发播放(由于不同浏览器限制)、
微信浏览器:
<swiper :style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px; background-color: #000000;'"
:vertical="true" @animationfinish="animationfinish" @change="change" :current="current"
:indicator-dots="false" :circular="true">
<swiper-item v-for="(list,index) in dataList" :key="index">
<view v-if="k==index">
<video v-if="isShow" :id="list._id+'_'+index" ref="videoPlayer" :muted="true"
enable-play-gesture :controls="true" :show-center-play-btn="true" play-btn-position="center"
:http-cache="true" :show-play-btn="true" :show-fullscreen-btn="false" :show-loading="true"
enable-progress-gesture :src="list.video_src" @ended="ended" @play="play(dataList[k].tv_id)"
poster-size="fill" object-fit="fill"
:style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px; background-color: #000000;'"
:poster="dataList[k].tv_image">
</video>
<view v-if="!isShow" @click="click_tvimg()">
<image :src="dataList[k].tv_image" mode="aspectFit"
:style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px; background-color: #000000;'">
</image>
</view>
</view>
</swiper-item>
</swiper>
写一个方法:
playVideo() {
// 在这里调用播放视频的逻辑,可能需要获取视频元素并调用 play() 方法
const videoElement = this.$refs.videoPlayer; // 获取视频元素的引用
if (videoElement) {
videoElement[0].play()
}
},
2.在onload和change方法中执行:调用
change(event) {
this.k = event.detail.current
setTimeout(()=>{
this.playVideo();
},1000)
},
setTimeout(()=>{
this.playVideo();
},1000)
不加延时器时器没有效果得,这样在微信公众号在微信浏览器中会实现自动播放
h5端 ,微信小程序 实现自动播放是可以采用获取视频上下文实现得,文章来源:https://www.toymoban.com/news/detail-754384.html
uni.createVideoContext(this.dataList[this.k]._id + '' + this.k, this).play(),文章来源地址https://www.toymoban.com/news/detail-754384.html
到了这里,关于微信浏览器(公众号小程序),h5端,小程序 ,app端 解决video视频自动触发播放问题,的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!