uni-app uni.compressVideo 不成功也不报错

uni-app uni.compressVideo 不成功也不报错

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

示例代码:

uni.showLoading({title: '处理中'})
console.log('处理视频', src, bitrate, fps, resolution)
// 输出: 处理视频,  file:///storage/emulated/0/Pictures/SVID_20240217_105713_1.mp4,  [Number] 800 ,  [Number] 26 ,  [Number] 0.8838
uni.compressVideo({
src, bitrate, fps, resolution,
success: res => {
uni.hideLoading()
console.log('压缩成功')
resolve(res.tempFilePath)
},
fail: err => {
uni.hideLoading()
console.error('压缩错误', err)
reject(err)
}
})
// 有意思的是,会自动关闭加载动画,难道超时的是动画?实际上程序依然在处理视频?

操作步骤:

选择100m的近8分钟的视频,

预期结果:

正常压缩视频

实际结果:

不成功,不报错

bug描述:

uni.compressVideo压缩100m近8分钟的视频既不成功,也不报错,后来发现,加载动画自己取消了,等了大概一两分钟才开始执行后续的代码,期间控制台的打印既无成功输出也不报错。搞得我以前有bug,不过这个估计也是bug

视频编码:AVC1 - 内置 FFmpeg 解码器 CopyBack D3D11 DXVA Decoder(VLD) - Intel® HD Graphics Family


更多关于uni-app uni.compressVideo 不成功也不报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app uni.compressVideo 不成功也不报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在使用 uni.compressVideo 进行视频压缩时,如果压缩不成功且没有报错,可能是由于多种原因导致的。以下是一些可能的原因和排查步骤:

1. 检查 API 调用参数

  • 确保调用 uni.compressVideo 时传入的参数是正确的。特别是 srcquality 参数。
  • 示例代码:
    uni.compressVideo({
        src: 'path/to/your/video.mp4',
        quality: 'low', // 可选值:'low', 'medium', 'high'
        success: (res) => {
            console.log('压缩成功', res.tempFilePath);
        },
        fail: (err) => {
            console.log('压缩失败', err);
        }
    });
回到顶部