2***@qq.com
2***@qq.com
  • 发布:2021-10-11 18:07
  • 更新:2022-07-07 11:28
  • 阅读:1937

【报Bug】ios webview中无法获取麦克风权限

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.2.9

手机系统: iOS

手机系统版本号: IOS 14

手机厂商: 苹果

手机机型: iPhone6 Plus

页面类型: vue

打包方式: 离线

项目创建方式: HBuilderX

示例代码:
mediaDevices.getUserMedia()

操作步骤:

使用uni.getRecorderManager(),开启录音后关闭,获取麦克风权限
webview中直接调用mediaDevices.getUserMedia(), 会提示mediaDevices is undefined

预期结果:

浏览器弹出请求麦克风权限提示框

实际结果:

报错,提示mediaDevices is undefined

bug描述:

在iOS下,如果APP本身就拥有麦克风权限,那么iOS的WKWebview的navigator对象中应该是有mediaDevices.getUserMedia方法来获取webview的麦克风权限的,但是uniapp的webview把navigator魔改了,根本没有mediaDevices这个对象,导致取不到麦克风权限

2021-10-11 18:07 负责人:无 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

请提供一下完整的示例代码,或者复现demo

DCloud_iOS_WZT

DCloud_iOS_WZT

1***@qq.com

1***@qq.com

解决了么,我也遇到了这个问题

  • 即时通讯开发

    兼容问题 你找一下兼容代码就可以了 https://webrtc.github.io/adapter/adapter-latest.js


    navigator.mediaDevices.getUserMedia 用这就可以了

    2022-07-28 16:52

  • 令狐河山

    回复 3***@qq.com: 引进来了,显示还是navigator.mediaDevices === undefined,怎么解?

    2022-09-22 15:00

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