uni-app subnvue页面video组件,暂停播放后封面图会缩小一截。

发布于 1周前 作者 nodeper 来自 Uni-App

uni-app subnvue页面video组件,暂停播放后封面图会缩小一截。

项目信息 详情
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 win10
HBuilderX类型 正式
HBuilderX版本 3.99
手机系统 Android
手机系统版本 Android 14
手机厂商 华为
手机机型 荣耀8
页面类型 nvue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • nvue页面调用video,暂停播放

预期结果:

  • 暂停播放后,封面图正常显示

实际结果:

  • 暂停播放后,封面图缩小一截

bug描述:

  • subnvue页面video,暂停播放后,封面图会缩小一截。全屏和小屏模式下都会出现,全屏模式比较明显,能看见一条蓝边。

1 回复

在使用 uni-app 开发时,如果你在 subnvue 页面中使用 video 组件,并且遇到暂停播放后封面图缩小的问题,可能是由于 video 组件的默认行为或样式设置导致的。以下是一些可能的解决方案:

1. 检查 video 组件的样式

确保 video 组件的样式设置正确,特别是 widthheight 属性。你可以尝试给 video 组件设置固定的宽高,避免其在暂停时自动调整大小。

<video 
  src="your-video-url" 
  controls 
  style="width: 100%; height: 200px;">
</video>

2. 使用 poster 属性设置封面图

video 组件支持 poster 属性,用于设置视频播放前的封面图。确保 poster 图片的尺寸与 video 组件的尺寸一致,避免封面图在暂停时缩小。

<video 
  src="your-video-url" 
  controls 
  poster="your-poster-image-url" 
  style="width: 100%; height: 200px;">
</video>

3. 监听 pause 事件

你可以监听 video 组件的 pause 事件,在视频暂停时手动调整封面图的大小或位置。

<video 
  src="your-video-url" 
  controls 
  @pause="onPause" 
  style="width: 100%; height: 200px;">
</video>
methods: {
  onPause() {
    // 在这里处理封面图的调整逻辑
    const videoElement = this.$refs.video;
    // 例如,手动设置封面图的大小
    videoElement.style.backgroundSize = 'cover';
  }
}

4. 使用 cover-view 组件

如果 video 组件的封面图问题无法通过上述方法解决,你可以尝试使用 cover-view 组件来覆盖 video 组件,并手动控制封面图的显示和隐藏。

<video 
  src="your-video-url" 
  controls 
  style="width: 100%; height: 200px;">
</video>
<cover-view v-if="isPaused" style="position: absolute; top: 0; left: 0; width: 100%; height: 200px;">
  <image src="your-poster-image-url" style="width: 100%; height: 100%;"></image>
</cover-view>
data() {
  return {
    isPaused: false
  };
},
methods: {
  onPause() {
    this.isPaused = true;
  },
  onPlay() {
    this.isPaused = false;
  }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!