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不起作用 安卓也不行

videoTest.zip


更多关于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 属性主要用于控制视频播放器在全屏模式下的垂直滑动调节亮度和音量的手势功能。根据官方文档和实际实现机制,该属性在非全屏模式下通常不会生效,这是设计上的限制。

原因分析:

  1. 平台差异:iOS 和 Android 系统的原生视频播放器在全屏和非全屏模式下对手势的处理逻辑不同,非全屏模式下系统可能未开放相关手势接口。
  2. 组件限制:uni-app 的 video 组件底层依赖各端原生播放器,非全屏模式下手势控制可能受限于原生实现。

建议解决方案:

  • 若需在非全屏模式下调节亮度或音量,可通过自定义 UI 控件(如滑动条)结合 uni.setScreenBrightnessuni.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>
回到顶部