uni-app uni.chooseVideo 选择文件后卡住 安卓平台 华为P30 Pro

uni-app uni.chooseVideo 选择文件后卡住 安卓平台 华为P30 Pro

示例代码:

const res = await uni.chooseVideo({  
  sourceType: ['album'],  
});  
console.log(res);

操作步骤:

执行uni.chooseVideo ,出现文件列表,选择文件后,点击左上角“完成”,出现正在加载,然后卡住了。

预期结果:

希望选择完文件后,能正常返回结果。最后可以拿结果中的路径,进行视频播放。

实际结果:

执行uni.chooseVideo ,出现文件列表,选择文件后,点击左上角“完成”,出现正在加载,然后卡住了。

bug描述:

const res = await uni.chooseVideo({  
  sourceType: ['album'],  
});  
console.log(res);

执行uni.chooseVideo ,出现文件列表,选择文件后,点击左上角“完成”,出现正在加载,然后卡住了。如图:
可以返回。
试了官方的演示示例APP,也是有这个问题。


更多关于uni-app uni.chooseVideo 选择文件后卡住 安卓平台 华为P30 Pro的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

兄弟,把这个改成false就可以了,安卓10以下不能压缩视屏,包括uniapp的压缩视频方法,总之坑爹啊

更多关于uni-app uni.chooseVideo 选择文件后卡住 安卓平台 华为P30 Pro的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在使用 uni.chooseVideo 选择视频文件时,如果遇到卡住的情况,尤其是在华为 P30 Pro 这样的安卓设备上,可能是由多种原因引起的。以下是一些可能的原因和解决方法:

1. 权限问题

确保应用已经获取了必要的权限,尤其是存储权限。可以在 manifest.json 中配置权限,并在运行时动态请求权限。

{
  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    },
    "scope.writePhotosAlbum": {
      "desc": "你的相册将用于保存图片和视频"
    }
  }
}

在代码中动态请求权限:

uni.authorize({
  scope: 'scope.writePhotosAlbum',
  success() {
    console.log('授权成功');
  },
  fail() {
    console.log('授权失败');
  }
});

2. 文件系统问题

华为 P30 Pro 可能对文件系统的访问有一些限制,尤其是在选择较大的视频文件时。可以尝试选择较小的视频文件,或者检查文件系统是否有异常。

3. 兼容性问题

某些安卓设备可能存在兼容性问题。可以尝试更新 uni-app 框架到最新版本,或者检查是否有相关的 bug 修复。

4. 调试与日志

在开发过程中,可以通过 console.loguni.getSystemInfo 来获取更多信息,帮助定位问题。

uni.getSystemInfo({
  success(res) {
    console.log(res);
  }
});

5. 使用 uni.chooseMedia 替代

如果 uni.chooseVideo 无法正常工作,可以尝试使用 uni.chooseMedia,它支持选择图片和视频。

uni.chooseMedia({
  count: 1,
  mediaType: ['video'],
  sourceType: ['album', 'camera'],
  success(res) {
    console.log(res.tempFiles[0].tempFilePath);
  },
  fail(err) {
    console.log(err);
  }
});

6. 检查设备存储空间

确保设备有足够的存储空间来处理和保存选择的视频文件。

7. 重启设备

有时候,设备长时间运行后可能会出现一些临时性问题,重启设备可能会解决问题。

8. 更新设备系统

确保设备的系统是最新的,系统更新可能会修复一些已知的问题。

9. 联系官方支持

如果以上方法都无法解决问题,可以联系 uni-app 官方支持,或者在社区中寻求帮助。

示例代码

以下是一个完整的 uni.chooseVideo 示例代码:

uni.chooseVideo({
  sourceType: ['album', 'camera'],
  maxDuration: 60,
  camera: 'back',
  success(res) {
    console.log(res.tempFilePath);
  },
  fail(err) {
    console.log(err);
  }
});
回到顶部