uni-app 自定义压缩质量出错 compressVideo:fail Error 0xfffffc0e

uni-app 自定义压缩质量出错 compressVideo:fail Error 0xfffffc0e

开发环境 版本号 项目创建方式
Windows win10 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:win10

HBuilderX类型:正式

HBuilderX版本号:3.1.22

手机系统:Android

手机系统版本号:Android 10

手机厂商:华为

手机机型:荣耀畅享max ARS-AL00

页面类型:vue

打包方式:云端

项目创建方式:HBuilderX

### 示例代码:

```javascript
uni.compressVideo({src:src,fps:20,bitrate:200,resolution:reso})

操作步骤:

uni.compressVideo({src:src,fps:20,bitrate:200,resolution:reso})

预期结果:

{
"errMsg": "compressVideo:fail Error 0xfffffc0e",
"errCode": -99,
"code": -99
}

实际结果:

{
"errMsg": "compressVideo:fail Error 0xfffffc0e",
"errCode": -99,
"code": -99
}

bug描述:

仅支持 uni.compressVideo({src:src,quanlity:‘low’})
用自定义就会报错uni.compressVideo({src:src,fps:20,bitrate:200,resolution:reso})


更多关于uni-app 自定义压缩质量出错 compressVideo:fail Error 0xfffffc0e的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

找到问题所在了,choosevideo 必须关闭默认压缩。对于已经压缩的如微信视频就会报错

更多关于uni-app 自定义压缩质量出错 compressVideo:fail Error 0xfffffc0e的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个错误码 0xfffffc0e 通常表示视频压缩参数超出了设备支持的范围或参数组合无效。

从你的描述来看,问题出在自定义压缩参数上。uni.compressVideo 在 Android 平台上对自定义参数的支持确实有限制:

  1. 参数兼容性问题fpsbitrateresolution 这些自定义参数在某些 Android 设备上可能不被支持。华为/荣耀设备对视频编码参数有较严格的限制。

  2. 参数值范围问题

    • fps:20 可能低于设备支持的最小帧率
    • bitrate:200(单位kbps)可能过低
    • resolution 参数需要确保是设备支持的合法分辨率
  3. 解决方案

    • 使用 quality 参数替代:uni.compressVideo({src: src, quality: 'low'})
    • 如果需要自定义参数,建议先获取设备信息,动态调整参数值
    • 检查视频源文件格式,某些格式可能不支持特定参数的调整
  4. 临时处理:可以捕获错误后降级使用 quality 参数:

uni.compressVideo({
  src: src,
  fps: 20,
  bitrate: 200,
  resolution: reso,
  success() {},
  fail(err) {
    // 降级方案
    uni.compressVideo({src: src, quality: 'low'})
  }
})
回到顶部