uni-app uni.compressVideo 返回压缩tempFilePath路径不准确
uni-app uni.compressVideo 返回压缩tempFilePath路径不准确
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10 | HBuilderX |
操作步骤:
- 选择手机的视频
uni.chooseVideo
- 对选中的视频进行
uni.compressVideo
压缩 - 打印压缩成功后返回的
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.');
}
});
注意事项
-
路径准确性:
- 确保
originalVideoPath
是正确的,并且该视频文件存在。 uni.compressVideo
返回的tempFilePath
通常是一个临时文件路径,用于存储压缩后的视频。这个路径在应用的生命周期内是有效的,但可能在应用重启后失效。
- 确保
-
错误处理:
- 在
fail
回调中处理可能的错误,比如文件不存在、权限问题等。
- 在
-
平台差异:
- 不同平台(如微信小程序、H5、App等)对于临时文件路径的处理可能有所不同。确保在目标平台上测试路径的有效性。
-
文件权限:
- 确保应用有权限访问和操作指定的文件路径。特别是在iOS上,你可能需要在
manifest.json
中声明必要的权限。
- 确保应用有权限访问和操作指定的文件路径。特别是在iOS上,你可能需要在
如果 tempFilePath
仍然不准确,可能需要检查以下几点:
- 确认
uni-app
和相关依赖库是否为最新版本。 - 检查是否有其他代码或插件干扰了文件路径的处理。
- 在开发者社区或官方文档中搜索是否有类似的问题被报告和解决。
希望这个示例能帮助你解决问题!如果问题依旧存在,可能需要更详细的日志信息来进一步诊断。