let that = this
uni.chooseVideo({
camera: 'back',
sourceType: ['album', 'camera'],
maxDuration: 0,
compressed: false,
success: (res) => {
console.log(res)
uni.compressVideo({
src: res.tempFilePath,
quality: 'medium',
success(re) {
console.log(re)
// that.src = re.tempFilePath;
// return
uni.saveFile({
tempFilePath: re.tempFilePath,
success: function(res2) {
console.log(res2)
that.src = res2.savedFilePath;
},
fail:function(err){
console.log(err)
}
});
},
fail:function(err){
console.log(err)
}
})
},
fail: (err) => {
console.log(err)
},
complete: (ces => {
console.log(ces)
})
})
- 发布:2024-12-11 15:27
- 更新:2024-12-12 17:37
- 阅读:60
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 23H2
HBuilderX类型: 正式
HBuilderX版本号: 4.36
手机系统: iOS
手机系统版本号: iOS 16
手机厂商: 苹果
手机机型: 苹果13proMAX
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
使用uni.chooseVideo选择或者录制视频后
使用uni.compressVideo进行压缩
使用压缩后的tempFilePath传入uni.saveFile保存都本地
使用uni.chooseVideo选择或者录制视频后
使用uni.compressVideo进行压缩
使用压缩后的tempFilePath传入uni.saveFile保存都本地
预期结果:
安卓端 ios可以正常播放使用uni.saveFile中success返回结果
安卓端 ios可以正常播放使用uni.saveFile中success返回结果
实际结果:
安卓端正常播放
ios端显示file不允许读
{
"errMsg": "saveFile:fail 不允许读",
"errCode": 4,
"code": 4
}
安卓端正常播放
ios端显示file不允许读
{
"errMsg": "saveFile:fail 不允许读",
"errCode": 4,
"code": 4
}
bug描述:
在ios端uni.chooseVideo录制视频以后,uni.compressVideo进行压缩,输出的tempFilePath可以正常播放,但使用uni.saveFile保存到本地后显示 "saveFile:fail 不允许读"
安卓端无异常
1 个回复
百里醉日 (作者)
测试了一下
hbuilderx4.23版本可以使用
4.26版本就报错了