uni-app video组件的自动隐藏控件BUG

uni-app video组件的自动隐藏控件BUG

开发环境 版本号 项目创建方式
Windows 4.74 HBuilderX
Android Android 15 -
HBuilderX Alpha -

示例代码:

<template>  
<view class="content">  
<image class="logo" src="/static/logo.png"></image>  
<view class="text-area">  
<text class="title">{{title}}</text>  
</view>  
<view class="">  
<video id="myVideo"  
src="videoUrl" :autoplay="autoplay"></video>
</view>
<view class="" @tap="a">点击播放</view>
</view>
</template>
<script>
export default {
    data() {
        return {
            title: 'Hello',
            videoUrl:'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4',
            autoplay:false,
            videoContext:null
        }
    },
    onLoad() {
        this.videoContext = uni.createVideoContext('myVideo');
    },
    methods: {
        a(){
            console.log('123')
            this.videoContext.play()
        }
    }
}
</script>  

操作步骤:

直接复制上面代码可复现

预期结果:

直接复制上面代码可复现

实际结果:

直接复制上面代码可复现

bug描述:

在video组件的autoplay设置true,代表自动播放。 当autoplay设置true视频自动播放时,视频下面控件几秒后始终不会自动隐藏
autoplay设置false,通过uni.createVideoContext.play() 播放,会几秒后自动隐藏控件。


更多关于uni-app video组件的自动隐藏控件BUG的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

您好,方便发下问题视频吗?

更多关于uni-app video组件的自动隐藏控件BUG的实战教程也可以访问 https://www.itying.com/category-93-b0.html


看了没有

这是一个已知的uni-app video组件行为差异问题。当设置autoplay=true时,视频控件不会自动隐藏,而通过API控制播放时控件会正常隐藏。

问题分析:

  • autoplay=true模式:视频初始化即开始播放,但系统可能未正确触发控件的自动隐藏计时器
  • API控制播放:通过videoContext.play()触发播放,控件隐藏机制正常工作

临时解决方案:

  1. 使用API控制播放替代autoplay属性:
onReady() {
    this.videoContext = uni.createVideoContext('myVideo');
    this.videoContext.play();
}
  1. 如需保持autoplay特性,可添加手动隐藏逻辑:
setTimeout(() => {
    // 可尝试通过设置controls=false完全隐藏控件
}, 3000);
回到顶部