mediaDevices.getUserMedia()
- 发布:2021-10-11 18:07
- 更新:2022-07-07 11:28
- 阅读:1937
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 11.6
HBuilderX类型: 正式
HBuilderX版本号: 3.2.9
手机系统: iOS
手机系统版本号: IOS 14
手机厂商: 苹果
手机机型: iPhone6 Plus
页面类型: vue
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
使用uni.getRecorderManager()
,开启录音后关闭,获取麦克风权限
webview中直接调用mediaDevices.getUserMedia()
, 会提示mediaDevices is undefined
使用uni.getRecorderManager()
,开启录音后关闭,获取麦克风权限
webview中直接调用mediaDevices.getUserMedia()
, 会提示mediaDevices is undefined
预期结果:
浏览器弹出请求麦克风权限提示框
浏览器弹出请求麦克风权限提示框
实际结果:
报错,提示mediaDevices is undefined
报错,提示mediaDevices is undefined
bug描述:
在iOS下,如果APP本身就拥有麦克风权限,那么iOS的WKWebview的navigator对象中应该是有mediaDevices.getUserMedia方法来获取webview的麦克风权限的,但是uniapp的webview把navigator魔改了,根本没有mediaDevices这个对象,导致取不到麦克风权限
3 个回复
DCloud_iOS_WZT
请提供一下完整的示例代码,或者复现demo
DCloud_iOS_WZT
建议参照官方文档正确使用 参考链接
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