我已经使用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中使用上述承诺时,它既没有进入successcallback也没有进入errorcallback。
答案 0 :(得分: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。有关非常兼容的填充层,请参阅adapter.js