如何在Chrome for iOS中使用getUserMedia

我正在开发一个简单的应用程序,在此我尝试使用getUserMedia访问摄像头和麦克风。 它适用于台式机Chrome和Android Chrome,但它在iPhone和iPad Chrome中无效。

 navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; var constraints = ""; if (mediaType === "audio,video") { constraints = { audio : true, video : true }; } else { constraints = { audio : true, video : false }; } navigator.getUserMedia(constraints, successCallback, errorCallback); 

…但它不适用于iPhone和iPad Chrome。

iPhone或iPad上的Chrome应用程序未运行“完整”版本的Chrome。 它的function仅限于iOS平台。 因此,在Safari / Apple支持之前, getUserMedia等可能无法使用。

引用另一个问题 :

Apple政策强制其他浏览器使用其不支持webRTC的webkit版本,因此您不会很快在iOS上的Web应用程序中获得webRTC支持。 webkit中的活动暗示作为一种变化,但是时间到了,这将是几个月。

我的理解(我是Mozilla工程师)是iOS上的Chrome目前不支持webrtc或getUserMedia。

更新:我知道这是一个非常老的线程,但从IOS 11.4测试版开始,

  1. 支持getUserMedia但不支持PWA(也称为独立的,也称为支持移动Web应用程序)的应用程序2对于分析器节点,FFTSize现在高达32768但是,似乎无法将原始实时音频输入分析器节点(因此大致是顶级的)一半的频率大幅衰减进入FFT节点而忘记安装自己的FFT,因为它不会有更好的GIGO)
  2. 最新的桌面Safari似乎是11.1,甚至更糟,因为FFTSize在2048年达到顶峰,你仍然没有获得原始音频源。

我一直希望!

WebRTC(包括getUserMedia)将在iOS11上发布,但将使用h264 / h265编解码器,即没有VP8 / VP9。