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组件行为差异问题。当设置autoplay=true时,视频控件不会自动隐藏,而通过API控制播放时控件会正常隐藏。
问题分析:
autoplay=true模式:视频初始化即开始播放,但系统可能未正确触发控件的自动隐藏计时器- API控制播放:通过
videoContext.play()触发播放,控件隐藏机制正常工作
临时解决方案:
- 使用API控制播放替代autoplay属性:
onReady() {
this.videoContext = uni.createVideoContext('myVideo');
this.videoContext.play();
}
- 如需保持autoplay特性,可添加手动隐藏逻辑:
setTimeout(() => {
// 可尝试通过设置controls=false完全隐藏控件
}, 3000);

