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>
相关推荐
笃行3501 小时前
集中式与分布式,KingbaseES 的四种形态共用一套内核
前端
陈随易3 小时前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
ZhengEnCi4 小时前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
IT_陈寒7 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
用户2705077725247 小时前
MCP 最小 Server 实测:3 个 JSON-RPC 报错与修法
前端
用户499335025077 小时前
一人VIP账号多人共用:Web 代理里的会话共享怎么实现
前端
用户老李7 小时前
无线电自学教程 05:第一台收音机——从矿石机到 SDR
前端
IPIPD7 小时前
Node.js请求遇到503怎么重试?先解析Retry-After,再做有上限退避
前端
葡萄城技术团队8 小时前
dsh-spreadjs-editor 的集成链路:把 SpreadJS Designer 嵌进 Agent 工作台
前端
FlyWIHTSKY8 小时前
vue2和vue3有什么区别,用法上有哪些区别
前端·javascript·vue.js