uni-app uni.compressVideo 返回压缩tempFilePath路径不准确

uni-app uni.compressVideo 返回压缩tempFilePath路径不准确

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

操作步骤:

  1. 选择手机的视频uni.chooseVideo
  2. 对选中的视频进行uni.compressVideo 压缩
  3. 打印压缩成功后返回的tempFilePath

预期结果:

打印的结果应为 file://xx/xx

实际结果:

打印的结果为 file://file:///xx/xx

bug描述:

uni.compressVideo 返回压缩tempFilePath的路径有2个file://


更多关于uni-app uni.compressVideo 返回压缩tempFilePath路径不准确的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app uni.compressVideo 返回压缩tempFilePath路径不准确的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在处理 uni-app 中的 uni.compressVideo API 返回的压缩视频 tempFilePath 路径不准确的问题时,首先需要确保你正确地使用了 API,并处理了其回调中的返回值。以下是一个基本的代码示例,展示了如何使用 uni.compressVideo 并处理返回的 tempFilePath

// 假设你有一个原始视频文件的路径 originalVideoPath
const originalVideoPath = '/path/to/original/video.mp4';

uni.compressVideo({
    src: originalVideoPath, // 原始视频文件路径
    quality: 'high', // 视频压缩质量,可选值为 'high'、'medium'、'low',默认为 'medium'
    success: (res) => {
        // 压缩成功后的回调
        const compressedVideoPath = res.tempFilePath; // 压缩后的视频文件路径
        console.log('Compressed Video Path:', compressedVideoPath);

        // 在这里你可以使用这个路径进行后续操作,比如上传或者预览
        // 例如,预览压缩后的视频
        uni.previewVideo({
            src: compressedVideoPath, // 预览的视频源文件
            current: compressedVideoPath // 当前显示视频的url
        });
    },
    fail: (err) => {
        // 压缩失败后的回调
        console.error('Video compression failed:', err);
    },
    complete: () => {
        // 无论成功或失败都会执行的回调
        console.log('Video compression process completed.');
    }
});

注意事项

  1. 路径准确性

    • 确保 originalVideoPath 是正确的,并且该视频文件存在。
    • uni.compressVideo 返回的 tempFilePath 通常是一个临时文件路径,用于存储压缩后的视频。这个路径在应用的生命周期内是有效的,但可能在应用重启后失效。
  2. 错误处理

    • fail 回调中处理可能的错误,比如文件不存在、权限问题等。
  3. 平台差异

    • 不同平台(如微信小程序、H5、App等)对于临时文件路径的处理可能有所不同。确保在目标平台上测试路径的有效性。
  4. 文件权限

    • 确保应用有权限访问和操作指定的文件路径。特别是在iOS上,你可能需要在 manifest.json 中声明必要的权限。

如果 tempFilePath 仍然不准确,可能需要检查以下几点:

  • 确认 uni-app 和相关依赖库是否为最新版本。
  • 检查是否有其他代码或插件干扰了文件路径的处理。
  • 在开发者社区或官方文档中搜索是否有类似的问题被报告和解决。

希望这个示例能帮助你解决问题!如果问题依旧存在,可能需要更详细的日志信息来进一步诊断。

回到顶部