uniapp中video播放视频上按钮没显示的问题

video标签层级很高,尝试了添加z-index,但无效果

通过查阅资料,得知cover-view层级比video层级高

效果图

需求是为了使直播时,可选是原画/流畅

解决方案

首先,在pages.json中配置右上角的图标

language 复制代码
{
			"path" : "pages/event/live",
			"style" : {
				"navigationBarTitleText": "直播详情",
				"navigationBarTextStyle":"white",
				"disableScroll": true,
				"app-plus":{
					"titleNView":{
						"backgroundColor":"#010001",
						"buttons":[{
							"fontSrc": "/static/iconfontapp.ttf",
							"text": "\ue66f",
							"fontSize": "22px",
							"color": "#FFFFFF"
						},{
							"fontSrc": "/static/iconfontapp.ttf",
							"text": "\ue60b",
							"fontSize": "22px",
							"color": "#FFFFFF"
						}]
					}
				}
			}
		},

然后在需要展示这个按钮的页面,加上操作方法

javascript 复制代码
<template>
	<view v-if="liveUrl">
		<video class="v-video-play"  autoplay
			:src="liveUrl" controls
			:show-progress="false">
			<template v-if="speedShow && range && range.length">
				<cover-view class="cover-box w100"></cover-view>
					<cover-view v-for="(item, index) in range" :key="index" @click="selectitem(item.value)" class="sb-txt cf" :class="[{'cred': item.value == rangeValue},`f${index + 1}`]">{{ item.text }}</cover-view>
			</template>
		</video>
	</view>
</template>
<script>
export default {
	data() {
		return {
			rangeValue: 'FD', // 默认流畅
			range: [], // 画质选项的列表
			speedShow: false // 是否点击了切换的按钮
		}
	},
	onNavigationBarButtonTap(button) {
		let _event = this.event
		if(button.index === 0) {//如果点击的是分享按钮
			shareWx({
				title: _event.title,
				summary: '活动直播 - 墨天轮',
				href: domain + `/event/live/${_event.id}`,
				imageUrl: _event.shareImageUrl
			})
		} else if (button.index === 1) {//如果点击的是清晰度切换按钮
			this.speedShow = !this.speedShow
		}
	},
}
</script>
相关推荐
SailingCoder17 小时前
AI 流式对话该怎么做?SSE、fetch、axios 一次讲清楚
前端·javascript·人工智能·ai·node.js
hxjhnct17 小时前
Vue 实现多行文本“展开收起”
前端·javascript·vue.js
橙子的AI笔记17 小时前
2025年全球最受欢迎的JS鉴权框架Better Auth,3分钟带你学会
前端·ai编程
百锦再17 小时前
Vue大屏开发全流程及技术细节详解
前端·javascript·vue.js·微信小程序·小程序·架构·ecmascript
独自破碎E17 小时前
你知道Spring Boot配置文件的加载优先级吗?
前端·spring boot·后端
一树山茶17 小时前
Vue变化响应
前端
黑土豆17 小时前
一次真实的流式踩坑:fetchEventSource vs fetch流读取的本质区别
前端·javascript·ai编程
代码猎人17 小时前
substring和substr有什么区别
前端
pimkle17 小时前
visactor vTable 在移动端支持 ellipsis 气泡
前端