尝试在HTML5和WebRTC中从MediaStream返回MediaDevices获取JavaScript参考/承诺。
此处的JavaScript在iOS和Android上的Chrome和Safari上运行。
navigator.mediaDevices.getUserMedia(session, initRec , onErr);
这会抛出TypeError: undefined is not an object (evaluating 'navigator.mediaDevices.getUserMedia')
很好,让我们尝试稍微过时的方法:
navigator.getUserMedia(parms,initfunc,errfunc);
这会抛出TypeError: navigator.getuserMedia is not a function. (In 'navigator.getUserMedia(parms,initfunc,errfunc)', 'navigator.getUserMedia' is undefined)
注意:这两个调用都适用于桌面版本。 移动网络EVER是否适用于录音?
答案 0 :(得分:0)
Safari(或iOS上的任何浏览器)在即将推出的Safari 11之前不支持getUserMedia和WebRTC。有关详细信息,请参阅webkit blog post,并注意它没有提及MediaRecorder API。
答案 1 :(得分:0)
尝试通过 HTTPS 提供网页。我了解到 iOS Safari 只允许通过安全连接访问麦克风(和摄像头)。
我在 Ionic Angular 应用程序中实现 ng-audio-recorder
时遇到了同样的问题。在桌面上完美运行时,移动 safari 抛出了这个错误。切换到 HTTPS 解决了这个问题。