2

我正在尝试让 WebRTC 与适用于 iOS的Bowser浏览器一起使用。但无论我尝试什么navigator.getUserMedia都是未定义的。

我正在运行 iOS 8.3 的 iPhone6 上测试该页面。

这就是我设置它的方式:

var localMediaStream;

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;

window.onload = function() {
    var video = document.getElementById('video');

    navigator.getUserMedia({video: true}, function(stream) {
        video.src = window.URL.createObjectURL(stream);

        localMediaStream = stream;
    }, function(err) {
        if(err) throw err;
    });
};

我得到的错误是:

TypeError: undefined is not a function (evaluating 'navigator.getUserMedia')

如果我不navigator.webkitGetUserMedia直接进行特征检测和使用(据我所知,这是 Bower 中应该存在的方法),我会得到同样的错误。

4

1 回答 1

1

做这个

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;

内部加载

但对我来说,第一次打开页面时它不起作用。页面刷新后它工作。

UPD:这是因为 Bowser 的 javascript 注入得太晚(或根本没有注入)。这是一个 iOs 的 webview 问题。但是 bowser 的团队说他们已经用新的控件而不是 web 视图替换了它(不记得名字,抱歉)。

于 2015-10-30T19:31:47.410 回答