uniapp video组件如何隐藏进度条只显示时间?
在uniapp中使用video组件时,如何隐藏进度条但保留显示当前播放时间?我看官方文档没有直接提供这个配置项,尝试用CSS修改也没成功。有没有实际可行的解决方案?最好能兼顾iOS和安卓平台的兼容性。
2 回复
在uniapp的video组件中,设置show-progress="false"即可隐藏进度条,同时时间显示默认可见。
在uni-app中,可以通过设置Video组件的属性来隐藏进度条,同时保留时间显示。具体实现如下:
<template>
<view>
<video
src="/static/video.mp4"
:controls="false"
:show-progress="false"
:show-play-btn="true"
:show-center-play-btn="true"
:current-time="currentTime"
@timeupdate="onTimeUpdate"
></video>
<text class="time-text">{{ formatTime(currentTime) }}</text>
</view>
</template>
<script>
export default {
data() {
return {
currentTime: 0
}
},
methods: {
onTimeUpdate(e) {
this.currentTime = e.detail.currentTime;
},
formatTime(seconds) {
const min = Math.floor(seconds / 60);
const sec = Math.floor(seconds % 60);
return `${min}:${sec < 10 ? '0' + sec : sec}`;
}
}
}
</script>
<style>
.time-text {
position: absolute;
bottom: 10px;
right: 10px;
color: white;
background-color: rgba(0,0,0,0.5);
padding: 2px 6px;
border-radius: 4px;
font-size: 12px;
}
</style>
关键属性说明:
controls="false":隐藏默认控制条show-progress="false":隐藏进度条- 通过
@timeupdate事件监听播放时间 - 使用自定义文本显示当前时间
注意事项:
- 需要自行实现时间显示样式和位置
- 可根据需求添加播放/暂停等控制按钮
- 时间格式可根据需要调整显示方式
这样就实现了隐藏进度条,只显示播放时间的效果。

