uni-app uni.chooseVideo() 方法选中视频文件 加载时长问题

uni-app uni.chooseVideo() 方法选中视频文件 加载时长问题

开发环境 版本号 项目创建方式
Windows w 10 家庭中文 18362 HBuilderX
Android Android 9.0
小米
redmi k20 pro pe

示例代码:

uni.chooseVideo


### 操作步骤:

uni.chooseVideo

预期结果:

视频文件选中后 加载时长 应 < 1s


### 实际结果:

视频文件选中后  加载时长 和视频文件大小成正比  文件越大 加载时长越高 110M   格式为 .mp4 视频文件  加载时长 > 30s 以及更高

bug描述:

uni.chooseVideo 选中上传视频 加载时长和视频文件大小成正比


更多关于uni-app uni.chooseVideo() 方法选中视频文件 加载时长问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

同问

更多关于uni-app uni.chooseVideo() 方法选中视频文件 加载时长问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


顶!!!
用起来体验太不友好了

请问这个问题你解决了吗,有什么方案可以推荐下

这个是真搞不懂,选择个文件,为啥还要加载那么长时间,不是最终返回的视频路径吗??为啥要加载那么长时间??也遇到同样的问题,希望能够解决,真的是崩溃了!这个坑有点让人不知所措

加载时间长是因为这里在选择视频后给压缩了,压缩过程需要时间

解决了吗?在电脑端上传没问题,但是一到手机端就很慢很慢

这是一个已知的性能问题,uni.chooseVideo() 方法在处理大文件时确实会出现加载时间与文件大小成正比的情况。

主要原因:

  1. uni.chooseVideo() 在Android平台上会先将选中的视频文件进行预处理和压缩
  2. 对于大文件(如110MB的MP4),系统需要较长时间来读取文件信息和生成预览
  3. 文件越大,系统处理时间越长

可能的解决方案:

  • 在调用时设置压缩参数:compressed: false 可以避免额外的压缩处理时间
  • 通过maxDuration限制视频时长,间接控制文件大小
  • 考虑使用uni.chooseFile()替代,但注意这在不同平台的支持度不同
  • 对于超大文件,建议先进行前端文件大小检查,提示用户选择较小的文件

优化后的代码示例:

uni.chooseVideo({
  sourceType: ['album', 'camera'],
  compressed: false,
  maxDuration: 60,
  success: (res) => {
    console.log(res.tempFilePath);
  }
});
回到顶部