uniapp中compressVideo设置为low或height时视频大小无变化是怎么回事?
我在uniapp中使用compressVideo压缩视频时,无论将quality参数设置为low还是height,输出的视频文件大小都没有明显变化。请问这是什么原因导致的?是需要额外配置还是这个功能存在兼容性问题?我的开发环境是最新的HBuilderX,测试了安卓和iOS端都无效。
2 回复
可能是视频本身已是最低质量,或压缩参数不生效。检查视频源是否已压缩,或尝试设置具体码率、分辨率等参数。
在UniApp中,compressVideo 设置为 low 或 high 时视频大小无变化,通常由以下原因导致:
-
平台差异:
compressVideo参数在 iOS 和 Android 上的实现可能不同。某些平台可能对压缩级别支持有限,导致设置无效。 -
视频本身特性:如果原视频已经较小或格式不支持压缩,系统可能跳过压缩处理。
-
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 支持。
如果问题持续,建议通过官方社区或文档反馈,检查是否有已知问题或替代方案。

