uni-app 小米11 Ultra,uni.chooseVideo uni.compressVideo plus.zip.compressVideo 视频压缩均失败

uni-app 小米11 Ultra,uni.chooseVideo uni.compressVideo plus.zip.compressVideo 视频压缩均失败

信息类别 详细信息
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win10
HBuilderX类型 正式
HBuilderX版本号 3.2.16
手机系统 Android
手机系统版本号 Android 11
手机厂商 小米
手机机型 xiaomi 11 Ultra MIUI 12.5
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • chooseVideo 后 compressVideo

预期结果:

  • 压缩成功

实际结果:

  • 压缩失败

bug描述:

uni.compressVideo({  
    src: tempFilePath,    
    quality: 'low', //'low':低,'medium':中,'high':高    
    success: (res) => {        
        uni.hideLoading()  
        console.log('压缩后',res)  
        this.videoUrl = res.tempFilePath  
    },  
    fail: function (err) {  
        uni.hideLoading()  
        console.log(err)  
        uni.showToast({    
            title:'视频压缩失败',  
            icon:'none'  
        },2000)  
    }  
})  
let realFilePath = ''  
if(tempFilePath.indexOf("file://") !== -1) {  
    realFilePath = tempFilePath.split('file://').join('')  
}  
console.log(realFilePath)  
plus.zip.compressVideo({  
    src: realFilePath?realFilePath:tempFilePath,  
    quality: 'low'  
},(res) => {  
    uni.hideLoading()  
    console.log('压缩后',res)  
    this.videoUrl = res.tempFilePath  
},(err) => {  
    uni.hideLoading()  
    console.log(err)  
    uni.showToast({    
        title:'视频压缩失败111',  
        icon:'none'  
    },2000)  
})  

报错:

{
"code": -99,
"message": "extractor does not contain video and/or audio tracks."
}

更多关于uni-app 小米11 Ultra,uni.chooseVideo uni.compressVideo plus.zip.compressVideo 视频压缩均失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

文件路径有问题
如果有中文编码的,要反编码

更多关于uni-app 小米11 Ultra,uni.chooseVideo uni.compressVideo plus.zip.compressVideo 视频压缩均失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


看下压缩的文件路径是否正确。看错误信息是没找到video类型的文件

file:///storage/emulated/0/DCIM/ScreenRecorder/Screenrecorder-2022-01-04-10-39-11-204.mp4 这是我choosevideo后的临时路径,别的手机都行,就是这个手机不行

回复 1***@qq.com: 已转给相关同学

回复 DCloud_Android_ST: 我也有同样问题

针对小米11 Ultra上视频压缩失败的问题,这个错误信息表明系统无法从视频文件中提取音视频轨道。以下是可能的原因和解决方案:

  1. 文件路径问题:uni.compressVideo使用的是临时文件路径,而plus.zip.compressVideo需要真实文件路径。确保传递给plus.zip.compressVideo的路径是有效的本地文件路径。

  2. 文件格式兼容性:某些设备录制的视频格式可能与压缩模块不兼容。建议在压缩前检查视频格式,可以尝试先用uni.getVideoInfo获取视频信息。

  3. 权限问题:确保应用有足够的存储权限,特别是写入权限。可以在调用压缩前检查并请求权限。

  4. 临时文件处理:uni.chooseVideo返回的临时文件可能在某些设备上无法直接用于压缩。可以尝试先将文件保存到应用文档目录:

plus.io.resolveLocalFileSystemURL(tempFilePath, (entry) => {
    entry.copyTo(plus.io.DOCUMENTS, 'temp.mp4', () => {
        // 使用新路径进行压缩
    });
});
回到顶部