uniapp中compressVideo设置为low或height时视频大小无变化是怎么回事?

我在uniapp中使用compressVideo压缩视频时,无论将quality参数设置为low还是height,输出的视频文件大小都没有明显变化。请问这是什么原因导致的?是需要额外配置还是这个功能存在兼容性问题?我的开发环境是最新的HBuilderX,测试了安卓和iOS端都无效。

2 回复

可能是视频本身已是最低质量,或压缩参数不生效。检查视频源是否已压缩,或尝试设置具体码率、分辨率等参数。


在UniApp中,compressVideo 设置为 lowhigh 时视频大小无变化,通常由以下原因导致:

  1. 平台差异compressVideo 参数在 iOS 和 Android 上的实现可能不同。某些平台可能对压缩级别支持有限,导致设置无效。

  2. 视频本身特性:如果原视频已经较小或格式不支持压缩,系统可能跳过压缩处理。

  3. API 使用问题:检查代码是否正确调用,确保参数传递无误。

示例代码

uni.chooseVideo({
  sourceType: ['camera', 'album'],
  compressed: true,
  compressVideo: 'low', // 或 'high'
  success: (res) => {
    console.log('视频大小:', res.size); // 检查压缩后大小
  },
  fail: (err) => {
    console.error('选择视频失败:', err);
  }
});

解决步骤

  • 确认原视频大小和格式,测试不同视频。
  • 在 iOS 和 Android 上分别测试,检查平台差异。
  • 更新 UniApp 和 HBuilderX 到最新版本,确保 API 支持。

如果问题持续,建议通过官方社区或文档反馈,检查是否有已知问题或替代方案。

回到顶部