uni-app 项目运行时自动打开chrome浏览器 执行 navigator.mediaDevices.getUserMedia 必现崩溃
uni-app 项目运行时自动打开chrome浏览器 执行 navigator.mediaDevices.getUserMedia 必现崩溃
| 开发环境 | 版本号 | 项目创建方式 | 
|---|---|---|
| Mac | macOS Sonoma 14.4.1 | HBuilderX | 
操作步骤:
navigator.mediaDevices.getUserMedia({video:true,audio:true}, ()=>{}, ()=>{})
预期结果:
正常采集摄像头麦克风流
实际结果:
浏览器崩溃
bug描述:
使用hbuilder 运行项目,自动打开chrome浏览器,执行navigator.mediaDevices.getUserMedia必现崩溃,复制地址手动打开chrome,运行则不会崩溃
更多关于uni-app 项目运行时自动打开chrome浏览器 执行 navigator.mediaDevices.getUserMedia 必现崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html
        
          3 回复
        
      
      
        应该是macos没有授权摄像头权限给hbuilder
更多关于uni-app 项目运行时自动打开chrome浏览器 执行 navigator.mediaDevices.getUserMedia 必现崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这样
在 Uni-app 项目运行时,如果自动打开 Chrome 浏览器并执行 navigator.mediaDevices.getUserMedia 时出现崩溃问题,可能是由于以下原因导致的。以下是一些可能的原因和解决方案:
1. Chrome 浏览器权限问题
- getUserMedia需要访问摄像头或麦克风,如果浏览器没有正确获取权限,可能会导致崩溃。
- 解决方案:
- 确保 Chrome 浏览器允许访问摄像头和麦克风。
- 在 Chrome 地址栏左侧点击锁图标,检查权限设置。
- 如果是在本地开发环境中,确保使用 https或者localhost,因为getUserMedia在非安全上下文(如http)中可能会被阻止。
 
2. Chrome 浏览器版本问题
- 某些旧版本的 Chrome 浏览器可能存在 getUserMedia的兼容性问题。
- 解决方案:
- 更新 Chrome 浏览器到最新版本。
- 检查浏览器的控制台是否有错误日志。
 
3. Uni-app 配置问题
- Uni-app 在 H5 环境下默认不会自动处理 getUserMedia的调用。
- 解决方案:
- 确保在 pages.json或manifest.json中正确配置了 H5 的相关设置。
- 如果是通过插件或自定义代码调用 getUserMedia,确保代码逻辑正确。
 
- 确保在 
4. 硬件或驱动问题
- 如果摄像头或麦克风驱动有问题,可能会导致 getUserMedia调用失败。
- 解决方案:
- 检查设备管理器,确保摄像头和麦克风驱动正常。
- 尝试在其他应用中使用摄像头和麦克风,确认硬件是否正常工作。
 
5. 代码问题
- 调用 getUserMedia的代码可能存在错误,导致崩溃。
- 解决方案:
- 检查代码逻辑,确保正确调用 getUserMedia。
- 示例代码:navigator.mediaDevices.getUserMedia({ video: true, audio: true }) .then(stream => { console.log("获取媒体流成功", stream); }) .catch(error => { console.error("获取媒体流失败", error); });
 
- 检查代码逻辑,确保正确调用 
 
        
       
                     
                   
                    

