贽著
贽著
  • 发布:2021-12-23 10:21
  • 更新:2022-05-31 18:02
  • 阅读:3282

【报Bug】ios webview内嵌H5页面,调用navigator.mediaDevices.getUserMedia报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.2.16

手机系统: iOS

手机系统版本号: iOS 13.0

手机厂商: 苹果

手机机型: iphone 11 pro max

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
navigator.mediaDevices  
        .getUserMedia(constraints)  
        .then(this.success)  
        .catch(this.error);

操作步骤:
navigator.mediaDevices  
        .getUserMedia(constraints)  
        .then(this.success)  
        .catch(this.error);

预期结果:

iOS调起摄像头及麦克风

实际结果:

报错,无法调起

bug描述:

ios webview内嵌H5页面,调用navigator.mediaDevices.getUserMedia报错

2021-12-23 10:21 负责人:DCloud_UNI_GSQ 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

app,是否开启了摄像头和麦克风权限
没有,就要添加相应权限

  • 贽著 (作者)

    开权限了

    2021-12-27 17:17

3***@qq.com

3***@qq.com

iOS14.3以下不支持

d***@c-go.com.cn

d***@c-go.com.cn

同问 在Mac 上使用模拟器调试,用sarfari的开发工具去调试Hbuilder里的H5页面,navigator.mediaDevices.getUserMedia() 是undefined; 无法获取,权限也都开了。手机IOS版本是15

hx168

hx168

同问,我是iOS 14.3的iPhone 7Plus

Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Html5Plus/1.0 (Immersed/20…

我的H5页面在app内使用webview打开时,打印的navigator里面没有mediaDevices属性

  • hx168

    我们这又有新发现。uni-app 14.3 iPhone7P ,使用webview打开H5页面,在vconsole控制台打印navigator属性,第一次加载的时候,navigator内没有mediaDevices属性。 但是马上通过location.href跳转一次之后,页面再次打印navigator就有mediaDevices属性了

    2022-05-31 19:19

  • d***@c-go.com.cn

    回复 hx168: 我试了 确实可以。。好神奇

    2022-06-01 11:31

  • 即时通讯开发

    回复 d***@c-go.com.cn: https://webrtc.github.io/adapter/adapter-latest.js

    引用这个js navigator.mediaDevices.getUserMedia 这样调用就尅了

    2022-07-28 16:53

  • 令狐河山

    回复 3***@qq.com: 没好使啊,是直接引里就行吗?打印navigator.mediaDevices还是空的。

    2022-09-22 14:13

  • 令狐河山

    回复 hx168: 怎么实现的,可以讲讲吗?我这location.href跳转一次之后还是没有啊。

    2022-09-22 14:25

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