uniapp中运行至微信浏览器(客户端)视频自动播放

javascript 复制代码
					<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>

属性解释

  1. v-if="isShow":用于根据 isShow 的值来判断是否显示该视频标签。如果 isShow 的值为 true,则显示视频。

  2. :id="list._id+'_'+index":为视频元素设置一个唯一的 id,通常是使用 _id(可能是视频的唯一标识符)与 index(循环索引)的组合。

  3. ref="videoPlayer":为视频元素设置一个引用名称,以便在 Vue.js 中能够通过引用操作视频元素。

  4. :muted="true":设置视频是否静音。

  5. enable-play-gesture:允许播放手势,即用户通过点击屏幕来播放/暂停视频。

  6. :controls="true":显示视频的控制条,包括播放、暂停、音量控制等。

  7. :show-center-play-btn="true":显示一个居中的播放按钮。

  8. play-btn-position="center":设置播放按钮的位置在中心。

  9. :http-cache="true":允许使用 HTTP 缓存。

  10. :show-play-btn="true":显示播放按钮。

  11. :show-fullscreen-btn="false":不显示全屏按钮。

  12. :show-loading="true":显示加载状态。

  13. enable-progress-gesture:允许使用手势来控制进度。

  14. :src="list.video_src":设置视频的源地址。

  15. @ended="ended":当视频播放结束时触发 ended 事件。

  16. @play="play(dataList[k].tv_id)":当视频开始播放时触发 play 事件,并调用 play 方法。

  17. poster-size="fill":设置海报(封面)的填充方式。

  18. object-fit="fill":设置视频的填充方式。

  19. :style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px; background-color: #000000;'":设置视频的样式,包括宽度、高度和背景颜色。

  20. :poster="dataList[k].tv_image":设置视频的封面图片。

onLoad中添加

页面加载时就调用自动播放,保证首次进入可以自动播放

加延时目的:防止微信浏览器检测到自动播放

javascript 复制代码
			setTimeout(()=>{
				this.playVideo();   // 自动播放方法
			},1000)

onShow中添加

页面显示时延迟执行,保证跳转页面之后依然可以自动播放

javascript 复制代码
			setTimeout(()=>{
				this.playVideo();
			},500)

methods中添加

自动播放方法

javascript 复制代码
playVideo() {
			
				// 在这里调用播放视频的逻辑,可能需要获取视频元素并调用 play() 方法
				const videoElement = this.$refs.videoPlayer; // 获取视频元素的引用
				if (videoElement) {
					videoElement[0].play()
				}
			},

change()方法中添加

保证上下滑动视频时,仍然可以自动播放

javascript 复制代码
				setTimeout(()=>{
					this.playVideo();
				},1000)
相关推荐
螺丝钉code18 分钟前
JAVA项目 Claude code CLAUDE.md 到底应该怎么写
java·人工智能·claude code
摇滚侠2 小时前
Maven 入门+高深 单一架构案例 54-59
java·架构·maven·intellij-idea
Electrolux2 小时前
[onlyoffice-v9]纯前端怎么实现编辑预览office
前端·javascript·github
VidDown2 小时前
Webhook 调试器:让第三方回调“原形毕露”
java·开发语言·javascript·编辑器·postman
折哥的程序人生 · 物流技术专研2 小时前
Java 23 种设计模式:从踩坑到精通 | 原型模式 —— 克隆对象,深拷贝与浅拷贝的坑你踩过吗?
java·设计模式·架构·原型模式·单一职责原则
装不满的克莱因瓶2 小时前
基于 OpenResty 扩展开发实现动态服务注册与发现能力
java·开发语言·架构·openresty
程序员小羊!2 小时前
06Java 异常机制与常用类
java
kyriewen2 小时前
我读了一遍 Babel 编译后的 async/await,终于搞懂了它的原理(附 20 行手写实现)
前端·javascript·面试
weixin_523185323 小时前
Java基础知识总结(四):引用数据类型与参数传递机制
java·开发语言·python
宸津-代码粉碎机3 小时前
Spring AI企业级实战|从RAG优化到Agent多工具调度
java·大数据·人工智能·后端·python·spring