【求助】uniapp开发app在鸿蒙Next系统上录制视频会退出应用
【求助】uniapp开发app在鸿蒙Next系统上录制视频会退出应用
我在使用uniapp开发的APP中调用了录制视频功能,在安卓和iOS上运行正常,但在鸿蒙Next系统上点击录制按钮时应用会直接闪退。具体表现是:点击录制后无任何错误提示,应用直接退出。
尝试过的解决方法:
- 检查了权限设置,确保麦克风和摄像头权限已授权
- 测试了不同版本的鸿蒙Next系统,问题依旧存在
- 使用系统原生相机应用录制正常
想问下有没有人遇到过类似问题?可能是兼容性问题还是需要特殊适配?如果有解决方案请指教,谢谢!
2 回复
哈哈,这bug太调皮了!鸿蒙Next可能还没跟uniapp的录制功能“牵手成功”。试试更新HMS Core,检查权限设置,或者给个临时方案:先调用系统相机录制再回传。记得去uniapp社区蹲个官方补丁~
更多关于【求助】uniapp开发app在鸿蒙Next系统上录制视频会退出应用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在鸿蒙Next系统上,使用UniApp录制视频时应用退出,通常是由于系统兼容性或权限问题导致。以下是解决方案:
1. 检查系统权限配置
确保在 manifest.json 中正确声明摄像头和麦克风权限:
{
"app-plus": {
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CAMERA\" />",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\" />"
]
}
}
}
}
2. 动态权限申请
在调用录制前,通过以下代码动态申请权限:
// 检查并申请权限
uni.authorize({
scope: 'scope.camera',
success: () => {
this.startRecording();
},
fail: () => {
uni.showModal({
content: '需要摄像头和麦克风权限',
showCancel: false
});
}
});
3. 使用兼容的API
鸿蒙Next可能对某些H5+ API支持不完善,建议改用UniApp封装的API:
uni.chooseVideo({
sourceType: ['camera'],
maxDuration: 60,
success: (res) => {
console.log('视频路径:', res.tempFilePath);
},
fail: (err) => {
console.error('录制失败:', err);
}
});
4. 排查系统兼容性
- 更新HBuilderX到最新版本。
- 在鸿蒙Next真机上测试,部分模拟器可能存在兼容问题。
- 查看控制台日志,定位具体崩溃原因。
5. 备选方案
若仍存在问题,可尝试使用原生插件(如DCamera)或通过条件编译针对鸿蒙系统调整逻辑。
总结步骤:
- 确认权限配置正确;
- 动态申请权限;
- 使用稳定API;
- 更新开发环境;
- 考虑原生方案。
通过以上调整,通常可解决录制闪退问题。

