uniapp 选择相册视频时出现加载中如何解决
“在uniapp中选择相册视频时,界面一直显示‘加载中’无法正常使用,如何解决这个问题?尝试过重启应用和更换手机测试依然存在。”
2 回复
检查网络连接,确保稳定。若问题持续,尝试清理应用缓存或重启应用。可能是系统权限未开启,检查相册访问权限。若仍无法解决,更新UniApp版本或检查插件兼容性。
在UniApp中选择相册视频时出现“加载中”提示,通常是由于系统权限、文件处理耗时或代码逻辑问题导致。以下是常见解决方案:
1. 检查相册权限
确保应用已获得相册访问权限:
- Android:在
manifest.json中配置权限:{ "permissions": [ "android.permission.READ_EXTERNAL_STORAGE" ] } - iOS:在
manifest.json中添加:
注意:iOS需在真机测试,模拟器无法调用相册。{ "ios": { "privacyDescription": { "NSPhotoLibraryUsageDescription": "需要访问相册以选择视频" } } }
2. 优化文件选择代码
使用 uni.chooseVideo 或 uni.chooseMedia 时,检查参数是否合理:
uni.chooseVideo({
sourceType: ['album'], // 仅从相册选择
maxDuration: 60, // 限制视频时长(秒)
success: (res) => {
console.log('视频路径:', res.tempFilePath);
},
fail: (err) => {
console.error('选择失败:', err);
}
});
参数说明:
compressed: false可跳过压缩(但部分平台强制压缩)。- 避免同时选择过多文件或过大视频。
3. 处理大文件加载
- 视频过大时系统需时间生成预览,可添加加载提示:
uni.showLoading({ title: '处理中...' }); uni.chooseVideo({ success: (res) => { uni.hideLoading(); // 处理视频 }, fail: () => uni.hideLoading() });
4. 平台差异处理
- Android:部分机型对相册路径解析较慢,可尝试用
uni.chooseMedia(HBuilderX 3.1.0+):uni.chooseMedia({ count: 1, mediaType: ['video'], success: (res) => { console.log(res.tempFiles[0].tempFilePath); } }); - iOS:确保视频格式为兼容格式(如MP4)。
5. 排查环境问题
- 使用真机调试,模拟器可能无法正常调用相册。
- 更新HBuilderX至最新版本,避免已知BUG。
总结步骤:
- 确认权限并真机测试。
- 简化选择参数,避免处理过大文件。
- 添加加载提示改善用户体验。
- 根据平台使用推荐API(如
uni.chooseMedia)。
若问题持续,检查控制台错误日志或尝试更换手机测试。

