0

我已经使用 peerjs 实现了基于 webrtc 的视频聊天。它在 chrome 中运行良好,但我无法在 firefox 中生成流。navigator.getUserMedia 已用于生成音视频流,如下所示:

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
navigator.getUserMedia({
            audio : true,
            video : true
        }, function(stream) {       
            window.localStream = stream;
        }, function(error) {
                console.log(error);
});

当我在 Firefox 中使用上述承诺时,它既不会进入成功回调,也不会进入错误回调。

4

1 回答 1

1

一些事情: navigator.*GetUserMedia() 已弃用;你想要navigator.mediaDevices.getUserMedia()

peerjs (IIRC) 未维护且与当前规范的许多方面不兼容。它已由 NTT/Skyway 分叉,该版本应该可用。

上面的代码似乎不是 Promise...(navigator.mediaDevices.getUserMedia() 确实返回了 Promise)。

有关适用于 Firefox 的示例,请参阅我们在https://mozilla.github.io/webrtc-landing的粗略测试页面,尤其是https://mozilla.github.io/webrtc-landing/gum_test.html。有关非常兼容的 shim 层,请参阅 adapter.js

于 2016-03-16T12:28:28.710 回答