uni-app ios webview中无法获取麦克风权限

uni-app ios webview中无法获取麦克风权限

开发环境 版本号 项目创建方式
Mac 11.6 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Mac

HBuilderX类型:正式

HBuilderX版本号:3.2.9

手机系统:iOS

手机系统版本号:IOS 14

手机厂商:苹果

手机机型:iPhone6 Plus

页面类型:vue

打包方式:离线

示例代码:
``` js
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这个对象,导致取不到麦克风权限


更多关于uni-app ios webview中无法获取麦克风权限的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

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

更多关于uni-app ios webview中无法获取麦克风权限的实战教程也可以访问 https://www.itying.com/category-93-b0.html


建议参照官方文档正确使用 参考链接

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

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

navigator.mediaDevices.getUserMedia 用这就可以了

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

回到顶部