8***@qq.com
8***@qq.com
  • 发布:2020-10-09 01:13
  • 更新:2021-10-22 16:47
  • 阅读:2745

【报Bug】在UNI-APP中通过web-view组件打开H5,H5中调用navigator.mediaDevices.getUserMedia报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 10.15.6

HBuilderX类型: 正式

HBuilderX版本号: 2.8.13

手机系统: iOS

手机系统版本号: iOS 12.1

手机厂商: 苹果

手机机型: iphone7

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

if (navigator.mediaDevices.getUserMedia) {
console.log('最新的标准API');
navigator.mediaDevices
.getUserMedia(constraints)
.then(this.getUserMediaSuccess)
.catch(err => {
console.log(err);
});
} else if (navigator.webkitGetUserMedia) {
console.log('webkit核心浏览器');
navigator.webkitGetUserMedia(constraints, this.getUserMediaSuccess, err => {
console.log(err);
});
} else if (navigator.mozGetUserMedia) {
console.log('firfox浏览器');
navigator.mozGetUserMedia(constraints, this.getUserMediaSuccess, err => {
console.log(err);
});
} else if (navigator.getUserMedia) {
console.log('旧版API');
navigator.getUserMedia(constraints, this.getUserMediaSuccess, err => {
console.log(err);
});
} else {
console.log(JSON.stringify(navigator));
console.log('无法使用摄像头1');
}

操作步骤:

1、新建一个html文件,js使用webrtcAPI,navigator.mediaDevices.getUserMedia
2、在uni-app中新建一个页面,页面中通过web-view组件加载html文件的地址

预期结果:

希望能够像原生浏览器(安卓:谷歌;ios:safari)中直接打开设备上的摄像头进行拍照或录像

实际结果:

Error in nextTick: "TypeError: undefined is not an object (evaluating 'navigator.mediaDevices.getUserMedia')"

bug描述:

在UNI-APP中通过web-view组件打开H5,H5中调用navigator.mediaDevices.getUserMedia报错

2020-10-09 01:13 负责人:无 分享
已邀请:
深海智行

深海智行 - 专注前端培训

https://caniuse.com/?search=mediaDevices

l***@163.com

l***@163.com

我也遇到了这个问题,请问目前解决了吗?

s***@163.com

s***@163.com

一样的问题,请问现在解决了吗

1***@163.com

1***@163.com

解决了没,ios下出现这个问题

该问题目前已经被锁定, 无法添加新回复