uni-app uni.chooseVideo 选择.avi视频后报错

uni-app uni.chooseVideo 选择.avi视频后报错

开发环境 版本号 项目创建方式
Windows win11 HBuilderX
### 操作步骤:
```p
openFile(){
uni.chooseVideo({
compressed:false,
success:(e)=>{ 
// console.log(e,"success");
},
complete:(e)=>{
console.log(e,"e");
}
})
},

预期结果:

能读取成功视频

实际结果:

读取失败

bug描述:

uni.chooseVideo 选择.avi视频后报错。
"errMsg": "chooseVideo:fail Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference",
"errCode": 13,
"code": 13

更多关于uni-app uni.chooseVideo 选择.avi视频后报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app uni.chooseVideo 选择.avi视频后报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在使用 uni.chooseVideo 选择 .avi 视频时,可能会遇到报错的情况。这通常是因为 .avi 格式的视频在某些平台或设备上不被支持,或者是因为 uni.chooseVideo 的默认配置不支持 .avi 格式。

以下是一些可能的原因和解决方案:

1. 平台支持问题

uni.chooseVideo 在不同平台上的支持情况可能不同。例如,某些平台可能不支持 .avi 格式的视频。你可以检查目标平台是否支持 .avi 格式。

2. 文件格式限制

uni.chooseVideo 默认可能只支持常见的视频格式(如 .mp4, .mov 等)。你可以通过 extension 参数来指定允许选择的文件格式。

uni.chooseVideo({
  sourceType: ['album', 'camera'],
  extension: ['.mp4', '.avi', '.mov'], // 添加 .avi 格式
  success: function (res) {
    console.log(res.tempFilePath);
  },
  fail: function (err) {
    console.error(err);
  }
});

3. 文件大小限制

如果 .avi 文件过大,可能会超出 uni.chooseVideo 的文件大小限制。你可以通过 maxDurationcompressed 参数来控制视频的时长和压缩。

uni.chooseVideo({
  sourceType: ['album', 'camera'],
  maxDuration: 60, // 最大时长 60 秒
  compressed: true, // 压缩视频
  success: function (res) {
    console.log(res.tempFilePath);
  },
  fail: function (err) {
    console.error(err);
  }
});

4. 平台差异

不同平台(如微信小程序、H5、App)对 uni.chooseVideo 的支持和限制可能不同。你可以根据具体平台进行适配。

5. 错误处理

fail 回调中捕获错误信息,以便更好地了解问题的原因。

uni.chooseVideo({
  sourceType: ['album', 'camera'],
  success: function (res) {
    console.log(res.tempFilePath);
  },
  fail: function (err) {
    console.error('选择视频失败:', err);
  }
});
回到顶部