uni-app video非全屏模式下设置vslide-gesture不起作用
uni-app video非全屏模式下设置vslide-gesture不起作用
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Mac |
| PC版本号 | 15.6.1 (24G90) |
| HBuilderX | 正式 |
| HBuilderX版本 | 4.84 |
| 手机系统 | iOS |
| 手机版本号 | iOS 26 |
| 手机厂商 | 苹果 |
| 手机机型 | iphone 14 pro max |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
操作步骤:
- video 标签 设置 :vslide-gesture=“true”
预期结果:
- 非全屏模式下亮度与音量调节手势
实际结果:
- 不能调节
bug描述:
video非全屏模式下设置vslide-gesture不起作用 安卓也不行
更多关于uni-app video非全屏模式下设置vslide-gesture不起作用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
目前现状uni-app vslide-gesture 在非全屏下iOS和安卓均不起作用,uni-app x 上 vslide-gesture在非全屏下iOS不起作用,安卓正常。
更多关于uni-app video非全屏模式下设置vslide-gesture不起作用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
是uniapp不支持吗,什么时候支持
uni-app上不支持,暂时没有确定的支持时间
在 uni-app 中,vslide-gesture 属性主要用于控制视频播放器在全屏模式下的垂直滑动调节亮度和音量的手势功能。根据官方文档和实际实现机制,该属性在非全屏模式下通常不会生效,这是设计上的限制。
原因分析:
- 平台差异:iOS 和 Android 系统的原生视频播放器在全屏和非全屏模式下对手势的处理逻辑不同,非全屏模式下系统可能未开放相关手势接口。
- 组件限制:uni-app 的
video组件底层依赖各端原生播放器,非全屏模式下手势控制可能受限于原生实现。
建议解决方案:
- 若需在非全屏模式下调节亮度或音量,可通过自定义 UI 控件(如滑动条)结合
uni.setScreenBrightness和uni.setVolume等 API 实现。 - 考虑引导用户进入全屏模式使用系统原生手势,以保持体验一致性。
代码示例(自定义亮度调节):
<template>
<view>
<video :src="videoSrc" controls></video>
<slider :value="brightness" @change="onBrightnessChange" />
</view>
</template>
<script setup>
import { ref } from 'vue';
const brightness = ref(0.5);
const onBrightnessChange = (e) => {
uni.setScreenBrightness({ value: e.detail.value });
};
</script>

