在网页中,我们可以通过navigator.mediaDevices.getUserMedia来得到摄像头数据(接口api说明),一般情况下,在安卓手机中无论是微信打开的网页,还是默认浏览器打开的网页,都是支持这个接口的。因为他们都支持WebRTC。
WebRTC:是一组开源的API,它可以在浏览器中进行实时音频和视频通信。其中之一的功能是访问用户的音频和视频设备,包括摄像头和麦克风。因此,使用WebRTC可以在网页中获取摄像头数据。
一开始,苹果只在自己的浏览器Safari 11支持了WebRTC,其他应用的内置浏览器并不支持。但是从iOS 14.3开始,苹果为WebKitWebView增加了WebRTC的支持。这样就可以通过内嵌WebView的方式来使用WebRTC。因此,微信浏览器在iOS端上使用的是WKWebView,也就同样支持了WebRTC。理论上来说,只要ios版本大于14.3 即可在微信打开的网页上调用摄像头。而低于14.3的版本则无法支持,建议用safari打开。